C语言如何读写一个文本文件?
谢谢, 问题点数:20、回复次数:6Top
1 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-09-27 13:07:52 得分 4
FILE *fp;
//读方式打开
fp = fopen("data.txt", "r");
//以下是各种读法
fgetc(fp);//读一个字符
fgets(fp);//读一行字符
fread(...);//按字节数读
fscanf(...);//按格式字符串读
//关闭文件
fclose(fp);
FILE *fp;
//写方式打开
fp = fopen("data.txt", "w");
//以下是各种写法
fputc(fp);//写一个字符
fputs(fp);//写一行字符
fwrite(...);//按字节数写
fprintf(...);//按格式字符串写
//关闭文件
fclose(fp);Top
2 楼buffoon(悠云[http://buffoon.blog.com.cn])回复于 2005-09-27 13:18:23 得分 4
支持楼上的,都在上面了
P.S.楼上的你让不让人混了?Top
3 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-09-27 13:23:26 得分 4
对不起
楼上的
手快了点~~
下次一定注意~Top
4 楼nasi00(莫傲·逍遥)回复于 2005-09-27 13:29:14 得分 4
还可以用freopen()来重定向,这样就可以直接用scanf()来读了
比如
a.txt
-----
1
2
3
那么
freopen( "a.txt", "r", stdin );
然后
scanf( "%d %d %d", &a, &b, &c );
这样就可以读进来了Top
5 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2005-09-27 13:35:24 得分 4
支持一楼~~
这些找本书上都有介绍~~
补充一下:
fseek : 重定位流上的文件指针
fsetpos:定位流上的文件指针
fstat:获取打开文件信息
...
同时建议楼主下载个C语言的库函数看看~~~Top
6 楼jsjjms(专心研究嵌入式)回复于 2005-09-27 13:43:49 得分 0
再补充一个
long ftell(FILE *stream) 函数返回定位在stream中的当前文件指针位置,以字节表示
#include <stdio.h>
int main(void)
{
FILE *stream;
stream = fopen("MYFILE.TXT", "w+");
fprintf(stream, "This is a test");
printf("The file pointer is at byte \
%ld\n", ftell(stream));
fclose(stream);
return 0;
}Top




