fprintf、fscanf和sprintf、sscanf

fprintf、fscanf的读写对象不是终端而是磁盘文件;

(fprintf类似于写,写入文件;fscanf像是读,从文件中读取)

调用方式为:

int  fprintf(文件指针,格式字符串,输出表列 )    返回值:返回实际输出的字符数,操作不成功返回EOF

int  fscanf(文件指针,格式字符串,输入表列 )    返回值:返回输入的数据个数,操作不成功返回EOF(注意:输入列表中的取地址符号)


sprintf和sscanf

 sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。

int sprintf( 字符指针, 格式字符串 , 输出列表 );

如:把整数123 打印成一个字符串保存在s 中。

         char * s;
  sprintf(s, "%d", 123); //产生"123"
  可以指定宽度,不足的左边补空格:
  sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
  当然也可以左对齐:
  sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"



 

sscanf函数和scanf函数也很像,只不过是scanf是从控制台下用户自己输入的,而sscanf是从字符串中读取数据,而不用用户输入了(相当于用户输入的字符串是buffer).后面的argument是要存储的位置。在匹配的过程中,只要遇到不匹配的情况,sscanf就结束运行。

sscanf函数返回值的含义是有多少个变量被赋值。


int sscanf( 字符指针, 格式字符串 , 输出列表 );



sprintf组合字符串,sscanf拆分字符串

你可能感兴趣的:(fprintf、fscanf和sprintf、sscanf)