关于文件读写fscanf()和fprintf()剖析 fscanf和fprintf

1.fscanf():从文件指针fp指向的文件中,按format中对应的控制格式读取数据,并存储在agars对应的变量中;

原型: fscanf(FILE*fp, const char *format, agars)

#include

#include

intmain()

{

FILE *fp;

char ch;

fp = fopen("test.txt","r");

if(fp == NULL)

{

printf("Open filefailure!");

exit(1);

}

else

{

fscanf(fp,"%s",&ch);

}

printf("%sn",ch);

fclose(fp);

return 0;

}

注:对于上面else中的内容需注意一下几点:

1.如果要读取一个整数(该整数必须在所存变量的数据类型表示的范围之内)则为:fscanf(fp,“%d”,&ch),而此时ch应该定义为int;若读取的数据大于int所能表示的范围,则读取的数据屏幕显示为负数,即读取的数据发生越界,如果此时的ch依然为char型,则运行时报错(内存读写错误)。

2.如果要读取字符串,则ch应该定义为char型数组或指针(指针需分配空间),而不能将其定义为char型,否则也会报错(内存读写错误);

3.输出数据时的数据格式应该和读取数据时的控制格式相同,除非进行强制转换。

4.使用fscanf()时,其中的变量agars应该取其地址;

5.对于文件的操作,记得文件打开操作后要关闭。

对于fscanf()主要应用在按行读取一个文件中的所有内容或依次读取每行相隔的几个数据,具体参照以下示例:

#include

#include

intmain()

{

FILE *fp;

char *ch, *ah;

ch =(char *) malloc(sizeof(char) * 100);

ah =(char *) malloc(sizeof(char) * 100);

fp = fopen("test.txt","r");

if(fp == NULL)

{

printf("Open filefailure!");

exit(1);

}

else

{

while(!feof(fp))

{

fscanf(fp, “%s”, ch);

printf(“%s”, ch);//这两行为按行读取所有数据

fscanf(fp, “%s%s”, ch, ah);

printf(“The value of ch and ah is:%s %sn”,ch,ah);//这两行为分别读取每行相隔的几个数据

}

}

printf("%sn",ch);

free(ch);

free(ah);

fclose(fp);

return 0;

}

关于文件读写fscanf()和fprintf()剖析 fscanf和fprintf

2.fprintf():将agars(参数表)内各项的值,按format(格式控制字符串)所表示的格式,将数据格式为字符串的形式写入到文件指针fp指向的文件中。

原型:fprintf(FILE*fp, const char *format, agars)

fprintf()和fscanf()相对应,其用法也基本和fscanf()相同。具体参照以下示例:

#include

#include

intmain()

{

FILE *fp;

fp = fopen("test.txt","a+");

fprintf(fp,“%d %d”,123456,789);//将123456和789写到test.txt文件中

fprintf(fp,"%s %s","China","ChongQing");//将字符串China和ChongQing追加写到test.txt文件中

fclose(fp);

return 0;

}

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/167361.html

更多阅读

关于文件夹变为.exe文件解决方法 文件夹变为exe

关于文件夹变为.exe文件解决方法相关工具软件下载:http://pan.baidu.com/s/1sjFF0gl1.有时候我们会遇到这种情况,文件夹变成了可执行文件,杀毒软件报告病毒,同时将文件加入到隔离区,下面我就来介绍下解决方法:图片中GiveIO文件夹变成了

如何提高U盘的读写速度 如何提高磁盘读写速度

如何提高U盘的读写速度——简介为了让U盘速度读写的更快,用户可以在Windows7系统将U盘的读写策略更改“NTFS”格式如何提高U盘的读写速度——工具/原料win7系统如何提高U盘的读写速度——方法/步骤如何提高U盘的读写速度 1、点击桌

机械硬盘的读写速度 机械硬盘和ssd的区别

在网上选购硬盘时,上面都标有惹人眼球的信息,如下图SATA 6Gb/s=6x1024/8=768MB/s,市面上的固态硬盘才500MB/s左右的速度,你觉得机械硬盘可能达到这个速度吗?/修正上面斜体这一部分,关于SATA 6Gb/s这部分指的是硬盘接口的速度,而非硬盘

声明:《关于文件读写fscanf()和fprintf()剖析 fscanf和fprintf》为网友窝边草分享!如侵犯到您的合法权益请联系我们删除