fread、fwrite、snprintf、sprintf、memset

来源:互联网 发布:js redirect 重定向 编辑:程序博客网 时间:2024/06/07 06:39

#include<stdio.h>

1.函数功能
  用来读写一个数据块。
2.一般调用形式
  fread(buffer,size,count,fp);
  fwrite(buffer,size,count,fp);
3.说明
  (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
  (2)size:要读写的字节数;
  (3)count:要进行读写多少个size字节的数据项;
  (4)fp:文件型指针。

备注:

      1 完成次写操(fwrite())作后必须关闭流(fclose());
      2 完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;
      3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。

函数原型: int snprintf(char *dest, size_t n, const char *fmt, ...);
函数说明: 最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。
函数返回值: 若成功则返回存入数组的字符数,若编码出错则返回负值。


函数原型:int sprintf( char *buffer, const char *format [, argument] … );——不安全的函数,容易产生缓冲区溢出。
返回值:字符串长度(strlen)



#include<stdlib.h>

void* memset(buffer,char ch,size_t n);

将buffer指向的内存块地每个字节置为ch,块的大小由第三个参数n决定