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

C语言读写文件

2011-03-20 18:19 204 查看
/****************************************
程序功能:读取c:/source.txt文件的内容,
取其中'#'开头行的内容写入c:/dest.txt中。
如:source.txt文件内容为如下:
#jksfjlsd
12jlkdjfsl
#jfiejw
#jkfldsl
iejfja;fj
则程序会产生一个dest.txt文件内容如下:
#jksfjlsd
#jfiejw
#jkfldsl
****************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
FILE *fp1;
FILE *fp2;     //申明2个文件指针,一个打开源文件,一个打开目标文件
char buf[1024];     //申明一个大字符数组,用于保存文件每一个行的内容

//只读方式打开源文件,这里得用两个反斜杠转义字符
if( (fp1=fopen("c://source.txt","r"))==NULL )
{
printf("打开source.txt失败,可能文件还没有创建!");
exit(0);
}
//创建目标文件,这里一般不会发生错误
if( (fp2=fopen("c://dest.txt","w"))==NULL )
{
printf("创建dest.txt失败!");
fclose(fp1);
exit(0);
}

while(!feof(fp1))       //当文件指针fp1指向文件末尾时,feof返回0,否则返回1,该句作用是只要未到末尾则进入循环
{
memset(buf, 0, 1024);       //buf字符串清0
fgets(buf, 1024, fp1);      //从fp1文件当前指针读取一行内容到buf
if(buf[0]=='#')             //判断该行的第一个字符是否为'#'
{
fputs(buf, fp2);        //是'#',写内容到fp2文件
}
}

fclose(fp1);
fclose(fp2);        //循环结束,关闭fp1,fp2文件,程序结束

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