1. scanf

函数原型 int scanf(const char *format, ...); 

功能:从标准输入 stdin 读取格式化输入。

2.fscanf

函数原型 int fscanf(FILE *stream, const char *format, …);

功能:从stream指向的流(而不是标准输入流)中读取数据。除此之外,与scanf函数完全相同。

比如:从流fp读取十进制的整数值并保存至变量x:fscanf(fp, “%d”, &x);

3. printf

函数原型:int printf(const char *format, ...) ;

format 是字符串,包含了要被写入到标准输出 stdout 的文本

功能:发送格式化输出到标准输出 stdout。

4. fprintf

函数原型:int fprintf(FILE *stream, const char *format, ...);

stream 是指向 FILE 对象的指针,该 FILE 对象标识了流。format 是 C 字符串,包含了要被写入到流 stream 中的文本

功能:向stream指向的流(而不是标准输出流)写入数据,除此之外,与printf函数完全相同。

比如:向流fp写入整数x的十进制数值: fprintf(fp, "%d", x);

Example1:

#include <stdio.h>
#include <stdlib.h> int main()
{
FILE * fp; fp = fopen ("file.txt", "w");
fprintf(fp, "%s %s %s %d", "We", "are", "in", ); fclose(fp); return();
}

创建文件 file.txt,它的内容如下:We are in 2018

5. sprintf

函数原型: int sprintf(char *str, const char *format, ...);

str 是指向一个字符数组的指针,该数组存储了 C 字符串。format 是字符串,包含了要被写入到字符串 str 的文本。

功能:发送格式化输出到 str 所指向的字符串。

example2:

#include <stdio.h>
#include <math.h> //for M_PI int main()
{
char str[]; sprintf(str, "Pi 的值 = %f", M_PI);
puts(str); return();
}

结果:Pi 的值 = 3.141593

6. snprintf

函数原型:

int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...);

函数说明:先将可变参数 “...” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。

函数返回值:若成功则返回欲写入的字符串长度,若出错则返回-1。

注意:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\0’;

如果格式化后的字符串长度大于或等于size,则将字符串的(size-1)拷贝至dest_str中,然后在字符串结尾处加上'\0'.

example3:

#include <stdio.h>
#include <string.h> int main(int argc, char **argv)
{
char str[];
int len = snprintf(str, sizeof(str), ""); printf("%d\n", (int)sizeof(str));
printf("str=%s\n", str);
printf("%d\n", (int)strlen(str));
printf("%d\n", len);
return ;
}

输出:

10
str=0123456789     
10
10

C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf的更多相关文章

  1. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换

    总览 (SYNOPSIS) #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream ...

  2. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数

    参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...

  3. [misc]printf/fprintf/sprintf/snprintf函数

    转自:http://blog.csdn.net/To_Be_IT_1/article/details/32179549 需要包含的头文件 #include <stdio.h> int pr ...

  4. [ Skill ] print println printf fprintf sprintf lsprintf

    https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...

  5. sscanf和sprintf是scanf和printf家族用法 (转)

    sscanf和sprintf是scanf和printf家族用法 sscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大得两个函数头文件 stdio.h原型i ...

  6. printf、sprintf与fprintf 的用法区分

    原文链接 1: fprintf()#include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprin ...

  7. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  8. fscanf和fprintf

    fscanf和fprintf fscanf的字符串是在键盘的缓冲区,fprintf是在显示器的缓冲区. 1.函数原型: int fprintf(FILE *fp, const char *format ...

  9. sprintf,snprintf的用法(可以作为linux中itoa函数的补充)【转】

    转自:http://blog.csdn.net/educast/article/details/25068445 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sp ...

  10. C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结

    #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...

随机推荐

  1. java spring boot- freemarker 配置 yml使用流程

    1.pom.xml  加入maven 依赖 <!-- 引入 freemarker 模板依赖 --><dependency> <groupId>org.springf ...

  2. Python学习日记(三)——Python基本数据类型(运算符、int、str、tuple、dict、range)

    运算符 1.算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2 ...

  3. arcgis python 随机取部分数据

    # -*- coding: cp936 -*- import arcpy import os import ylpy import random def main(): num=ylpy.getCou ...

  4. PHP之Memcache和Memcached

    本篇文章向大家介绍的是PHP中的Memcache和Memcached ,有兴趣的朋友可以看一下 **Memcache介绍:**Memcache是一套分布式缓存系统,分布式就是说可以在多台服务器上同时安 ...

  5. Winform 工程反编译后窗体如何显示

    Winform反编译后,如果想要让它象正常的工程一样,可以在窗体编辑器中,编辑,需要做一些工作. 1.  转换.resources 为 .resx 利用resgen工具.这个工具是vs自带的. 在启动 ...

  6. kotlin之map委托

    fun main(arg: Array<String>) { val map = mapOf("name" to "tom", ) val user ...

  7. 007-springboot 控制台中文乱码

    处理方式 1.FIle encoding 设置为UTF-8 2.-Dfile.encoding=UTF-8 配置tomcat 的的VM启动参数:-Dfile.encoding=UTF-8 3.idea ...

  8. git撤销某次提交

    1.查询提交记录.进入目录,查看某人在此目录下的commit: panxi@ww-bj-panxi MINGW64 [path]/Business (feature/v2.3) $ git log f ...

  9. django.template.exceptions.TemplateDoesNotExist: index.html

    django.template.exceptions.TemplateDoesNotExist: index.html 在网上查了下,setting中 TEMPLATES 的 'DIRS' 需要添加o ...

  10. C++数据结构之排序

    一.简单排序 冒泡排序: 插入排序: 逆序对 希尔排序: