#include stdio.h#include string.hvoid main(){ int n; double x,y,z;/* 如果需要保存每次数据,可以用数组 */ FILE *fp; char filename[100]; char str[1000];printf("\nEnter a filepath/filename:\n"); gets(filename); fp=fopen(filename, "rt"); if(fp==NULL) { printf("cannot open file\n"); return; } while (fgets(str,1000,fp)) //读取一行,并判断文件是否结束 { sscanf(str,"%d,%lf,%lf,%lf\n",n,x,y,z); printf("%d,%e,%e,%e\n",n,x,y,z); } fclose(fp);}
成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、全网营销推广、网站程序开发、HTML5响应式重庆网站建设公司、手机网站开发、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为纱窗行业客户提供了网站改版服务。
实现的方法和详细的操作步骤如下:
1、第一步,打开软件,在代码的第一行写头文件,然后在此处写#include
stdio.h,其中包含要在此头文件中调用的函数,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,在第二行中是主要功能,是程序执行的入口点。
int maihn(void),可以省略void,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,编写Main函数,必须在其后面添加大括号,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,调用printf()函数,此函数是在屏幕上输出一行文字,见下图,转到下面的步骤。
5、第五步,完成上述步骤后,编写printf函数的格式,里面必须有双引号,外部必须用分号标记,见下图,转到下面的步骤。
6、第六步,完成上述步骤后,加“return 0”, 就完成了,见下图,转到下面的步骤。
7、第七步,完成上述步骤后,进行编译,运行结果将出现在屏幕上,见下图。这样,就解决了这个问题了。
文件先写入部分数据,然后再读取输出在屏幕上,所以,在打开文件时必须以可读写方式"+"打开文件。(r+ w+ a+均可)
写完后,再读。因此,要把文件指针前移才可以,否则当前位置处在已写完的数据位置,无法读到数据。
参考代码:
#includestdio.h
int main()
{
FILE *fp;
char read[1000];
char *p="hello";
char s='\n';
if((fp=fopen("data.txt","a+"))==NULL) //追加方式,可读可写
{
printf("\nOpen file error!press any key exit!");
return -1;
}
fputs(p,fp); //写一个串hello
fputc(s,fp); //写一个回车符
fputs(p,fp); //再写一个串hello
fseek(fp, -5, SEEK_CUR ); //从当前位置,向前移动5个字节文件指针
fgets(read,1000,fp); //读取数据
printf("%s",read); //得到hello
fclose(fp);
return 0;
}
#includestdio.h
#includestring.h
void main()
{
FILE *fp; //创建一个文件指针*fp
char ch;
fp=fopen("D:/data.txt","r"); //以只读方式打开D:\data.txt文件
if(fp==NULL)
printf("can not open!\n"); //如果fp指针指向为空,即文件为空,则输出can not open
else{
//读取字符:fscanf(fp,"%c",ch),ch=fgetc(fp);
fscanf(fp,"%c",ch); //读取字符
while(!feof(fp)){ //feof()这个函数是用来判断指针是否已经到达文件尾部
putchar(ch); //输出
fscanf(fp,"%c",ch); //再次读取字符
}
fclose(fp); //关闭文件
}
printf("\n");
}