本文用C语言进行一般的文件IO.
1、以单个字符的形式写到文件。
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
char* ch;
char str[100]="To be or not to be,that is a question.";
pfile=fopen("outfile.txt","w"); //每次写入都先删除"outfile.txt"里面的内容。若要将新的内容添加到结尾可这样:\
pfile=fopen("outfile.txt","a"); ("a"表示"add");
for(ch=&str[0];*ch!='\0';ch++)
{
fputc(*ch,pfile);
}
printf("写到文件成功。");
getchar();
return 0;
}
2、以单个字符的形式读文件。
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
pfile=fopen("outfile.txt","r");
char ch;
while((ch=fgetc(pfile))!=EOF)
{
printf("%c",ch);
}
getchar();
return 0;
}
3、以行的方式写入文件。
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
char str[100]="To be or not to be,that is a question.";
pfile=fopen("outfile.txt","w");
fputs(str,pfile);
printf("写入完成。 ");
getchar();
return 0;
}
结果与1相同。
4、以行的方式读取。
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
char str[100];
pfile=fopen("outfile.txt","r");
fgets(str,256,pfile); //第二个参数表明每行读入256个字符后结束,当然在这之前遇到EOF也会结束。
printf("%s",str);
getchar();
return 0;
}
结果与2相同。
5、格式化写入文件。
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
char str[100];
int a=1,b=2;
pfile=fopen("outfile.txt","w");
fprintf(pfile,"%d+%d=%d",a,b,a+b); //这里的fprintf(),除了多了第一个参数表示要写入的文件外,剩下的参数和printf()一样。
printf("写入完成。");
getchar();
return 0;
}
6、格式化读文件。
假设文件里面的内容是:
#include <stdio.h>
int main()
{
FILE* pfile=NULL;
char str[100];
int a=0,b=0,c=0;
pfile=fopen("outfile.txt","r");
fscanf(pfile,"%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
getchar();
return 0;
}