C\C++操作文件

/**************************************** 
程序功能:读取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; 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值