文件操作命令
★定义文件指针操作
fgets和fgetc的区别FILE*stream
★打开文件操作
stream=fopen("rewind.out","w+")
if((stream=fopen("rewind.out","w+"))!=NULL)
{执行其他文件操作}
★关闭文件操作
fclose(stream)
★读(省略定义文件指针,打开关闭文件操作操作)
☆字符(fgetc)
正确值:读取字符的ASCII码值;错误返值:EOF
int ch;
ch=fgetc(stream);
☆字符串(fgets)
正确值:line数组的首地址;错误返值:NULL
char line[100]
fgets(line,100,stream)/* line指向的数组的字符,把99个字符送入line,文件指针指向 */
if((fgets(line,100,stream))!=NULL)
{执行对字符串处理操作}
☆数据块(fread)
正确值:读取字段的个数;错误返值:EOF
char list[30];
int numread;
numread=fread(list,sizeof(char),25,stream);/* line指向的数组的字符,每个字段的字节个数(例子中是获取字节个数),stream读取字段数目, 文件指针*/
☆格式化读(fscanf)
正确值:读取参数的个数;错误值:负数
char s[81];
char c;
fscanf(stream,"%s",s);
fscanf(stream,"%c",&c);
★写(省略定义文件指针,打开关闭文件操作操作)
☆字符(fputc)
正确值:读取字符的ASCII码值;错误返值:EOF
char strprt1[]="Showonder";
char *p;
p=strprt1;
while((*p='\0'&&fputc(*(p++),stdout)!=EOF);
☆字符串(fputs)
正确值:非负;错误返值:EOF
fputs("Showonder",stdout);
☆数据块(fwrite)
正确值:写入字段的个数;错误返值:EOF
char line[30]
int numwritten;
numwritten=fwrite(list,sizeof(char),25,stream);/* line指向的数组的字符,每个字段的字节个数(例子中是获取字节个数),stream写入字段数目, 文件指针*/
☆格式化输出(fprintf)
正确值:写入参数的个数;错误值:负数
char s[ ]="Showonder";
char c='\n';
int i=10;
fprintf(stream,"%s%c",s,c);
fprintf(stream,"%d",i);
文件编辑命令
★rewind:使文件指针重新指向文件开始
格式:rewind(stream);
★fseek:使文件指针指向宏定义位置+偏移(前负后正)的字节
格式:fseek(stream,23L,SEEK_SET)=>fseek(stream,偏移字节数,宏定义)
开始(0):SEEK_SET;当前位置(1):SEEK_CUT;结尾(2):SEEK_END
if(result) //result=seek(stream,23L,SEEK_SET)
perror("Fseek faile");
/*perror输出命令
★ftell:获得stream所在位置
格式:ftell(stream);
获取位置方式:
long position;
position=ftell(stream);
输出的position值就是指针所指字节位置
★feof:用于判断是否读到文件末尾
格式:feof(stream);
设置循环到位件末尾停止:while(!feof(stream)){…}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论