您的位置:首页 > 编程语言 > C语言/C++

【C语言笔记】文件的读写操作

2018-03-18 11:54 399 查看
C语言文件的读和写操作:

打开文件
写入/读出
关闭文件
本来是个简单的读写操作,却折腾了半天,最后发现在打开文件的时候忘记加括号,说明我的优先级还是没有掌握好
本来是这么写的: if(scanfile=fopen("value.dat","w+")==NULL)
{
printf("This file can not open!\n");
exit(0);
}来来回回找问题,本来是以为在读的时候没有把指针指向文件开头,然后就开始了盲目的改 #%¥………… 在写入的结束加上rewind函数、在读操作的开始加上rewind函数……经过实践证明,并没有什么卵用。
然后我打开创建的value.dat文件,发现里面什么数据都没有,然后就在自定义的读取函数scanfile里找啊找,找啊找,没有发现什么错误啊。
后来,我才发现…………在判断文件是否为空的时候忘记加小括号。
以下是完整的文件的读写操作:#include"stdio.h"
#include"stdlib.h"
#include"windows.h"
int main()
{
void input();
void output();
input();
output();
return 0;
}
void input()
{
FILE *scanfile;
char lueluelue;
if((scanfile=fopen("value.dat","w+"))==NULL)
{
printf("This file can not open!\n");
exit(0);
}
printf("please input you wanna save:\n");
lueluelue=getchar();
while(lueluelue!='@')
{
fputc(lueluelue,scanfile);
lueluelue=getchar();
}
fclose(scanfile);
printf("please wait \n");
int i;
for(i=5;i>=0;i--)
{
printf("%d\n",i);
Sleep(1000);
}
system("cls");

}
void output()
{
FILE *printfile;
printf("This is the data:\n");
char xuxuxu;
if((printfile=fopen("value.dat","r+"))==NULL)
{
printf("This flie can not open!\n");
exit(0);
}
printf("\n");
xuxuxu=fgetc(printfile);
while(xuxuxu!=EOF)
{
putchar(xuxuxu);
xuxuxu=fgetc(printfile);
}
fclose(printfile);
printf("\n\n print over!\n");
}看来我还是要多看看运算符的优先级



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: