c语言以字符串的形式读取文件,C语言以字符串的形式读写文件

#include #define N 100

int main(){

FILE *fp;

char str[N+1];

if( (fp=fopen("d:\\demo.txt","rt")) == NULL ){

printf("Cannot open file, press any key to exit!\n");

getch();

exit(1);

}

while(fgets(str, N, fp) != NULL){

printf("%s", str);

}

fclose(fp);

system("pause");

return 0;

}

将下面的内容复制到 D:\\demo.txt:

C语言中文网

http://c.biancheng.net

一个学习编程的好网站!

那么运行结果为:

fgets() 遇到换行时,会将换行符一并读取到当前字符串。该示例的输出结果之所以和 demo.txt 保持一致,该换行的地方换行,就是因为 fgets() 能够读取到换行符。而 gets() 不一样,它会忽略换行符。

写字符串函数fputs

fputs() 函数用来向指定的文件写入一个字符串,它的原型为:

int fputs( char *str, FILE *fp );

str 为要写入的字符串,fp 为文件指针。写入成功返回非负数,失败返回EOF。例如:

char *str = "http://c.biancheng.net";

FILE *fp = fopen("D:\\demo.txt", "at+");

fputs(str, fp);

表示把把字符串 str 写入到 D:\\demo.txt 文件中。

【示例】向上例中建立的 d:\\demo.txt 文件中追加一个字符串。

纯文本复制

#includeint main(){

FILE *fp;

char str[102] = {0}, strTemp[100];

if( (fp=fopen("D:\\demo.txt", "at+")) == NULL ){

printf("Cannot open file, press any key to exit!\n");

getch();

exit(1);

}

printf("Input a string:");

gets(strTemp);

strcat(str, "\n");

strcat(str, strTemp);

fputs(str, fp);

fclose(fp);

return 0;

}

运行程序,输入C C++ Java Linux Shell,打开 D:\\demo.txt,文件内容为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值