c语言如何将printf产生的数据写到txt文件中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何将printf产生的数据写到txt文件中相关的知识,希望对你有一定的参考价值。

#include <stdio.h>

#include <stdlib.h>

int main()

char money= 's';

char a ='w';

char b ='e';

char day='t';

FILE *fp = fopen("a.txt", "a+");//打开并在指定地点创建只写文件。

FILE *fp = fopen("路径","写入模式");

"w"  =>  创建并写入(覆盖式写入)

"a"  =>  创建并写入(接续式写入)

"a+" => 创建并写入(分行式写入)

fprintf(fp,"%c,%c,%c,%c,%c\\n",money,a,b,b,day);//使用fprintf  将输出端口变更为 文档

fclose(fp);//关闭指定文件

return 0;

扩展资料

C语言printf()函数的使用

1、printf()函数是C语言标准I/O中最常用的控制台输出函数,除了最常见的%d,%c,%s和%f以外;printf()和%说明符还提供很多功能丰富的输出形式;

2、demo程序输出结果中,[ ]内表示的是编程时书写的常量的形式,=后是输出结果;

3、printf()中存在自动类型转换,如%f中对-3.14的输出,-3.14原本被系统认为是double浮点常量,但使用%f仍然是转换类型后,用float类型输出;

4、printf()中存在隐式的进制转换,如%o中对十进制常量80的输出,结果为八进制数0120,显示为120,对显示的八进制常量0123输出则得到123,说明%o的显示结果是隐式的八进制数。同理%x中,对十进制常量100输出为64,其实该64应该是0x64,而0x12输出也为12,这些输出结果都是隐藏了进制的。

参考技术A 有以下三种方式可以做到:

1 使用重定向函数freopen将标准输出重定向到对应的txt文件。
其使用方法为,在所有的系统输出前,调用
stdout = freopen("out.txt", "w", stdout);
out.txt即所要写入的txt文件名。

2 在执行时处理。
编译最终生成的为可执行文件,运行也是运行这个文件。

在运行文件时,可以通过重定向符号,将输出重定向到其它文件。
如果生成的可执行文件为my.exe,那么在命令行调用
my.exe > out.txt
即可将my.exe的输出写入到out.txt中。

3 以上两种方法都是把所有的标准输出,包括printf, puts, putchar等,均输入到对应文件中。
如果要仅输出printf的结果,可以先打开文件,然后修改代码,把每个printf的调用修改对应的写文件函数。即printf(xxxx);修改为fprintf(fp, xxxxx);的形式。
其中fp为打开的文件指针。
参考技术B .h 里定义的fp=fopen(1.txt,w); //用 fopen 函数打开文件,第一个参数表示文件名,若不是当前// 路径请加 \\ 号,如 C:\\Windows\\System32,w 表示写(write)if (fp!=NULL) // 打开成功fprintf(fp,%d,1);// fp 文件流变量,%d写入格式,1 是写入的数据程序执行后,只要你有权限写文件,那么将会在当前目录产生 1.txt用记事本打开,里面有一个 1像这样调用程序:aaa.exe 1.txt(重写)或aaa.exe 1.txt(追加)printf函数的主要功能是按一定的格式将数据显示在(输出到)屏幕上,将数据写入txt文档(此文档一定要存在)的较好方法是使用函数fput()或fputs(),前者是一次写入一个字符,后者是一次写入一个字符串。一般的写入过程是,先打开文件,然后操作文件,最后记住要关闭文件。主要代码如下:FILE *pf;if((pf=fopen(你的txt文档名字,打开的模式))==NULL;//你的txt文档最好放在当前目录下,打开的模式有r(只读)、w(只写)、a(追加)等以及相应的组合。//打开失败,出错处理elselseek(pf,nPos,SEEK_CUR);//将文件指针从当前位置移动到nPos处char szTxt[128];memset(szTxt,0,sizeof(szTxt));printf(szTxt,%d,12345);if((fputs(szTxt,pf))!=EOF)//完成写入else写入出错fclose(pf);打开stdio.h,你会发现……对,就是他:freopen函数,意为在原有FILE基础上打开一个标准文件。好了,我们就利用这样的便捷,把stdout这个程序启动时被设定的FILE map到一个标准文件,这样,printf()函数就立即输出到指定文件中。记住要用fclose关闭stdout。FILE * __cdecl freopen(const char *, const char *, FILE *);freopen就像fopen一样方便本回答被提问者采纳

c语言中如何读取一个文件word.txt(10M),并把读取的文件写进磁盘中的word1.txt.求代码急急。。。

参考技术A FILE *fp, *fp2;
char line[1024];

if ((fp = fopen("d:\\a.txt", "r")) == NULL)

printf("load file failed.");

if ((fp2 = fopen("d:\\b.txt", "w+")) == NULL)

printf("load file failed.");


while (fgets(line, sizeof(line), fp))

// printf("%s\n",line);

fputs(line, fp2);

getchar();


fclose(fp);
fclose(fp2);追问

大侠,因为我的词库word.txt有差不多2MB,调试时通不过,要中止。。。你改一下咯

追答

FILE *fp, *fp2;
char line[1024];
if ((fp = fopen("d:\\a.txt", "r")) == NULL)

printf("load file failed.");

if ((fp2 = fopen("d:\\b.txt", "w+")) == NULL)

printf("load file failed.");

while (fgets(line, sizeof(line), fp))

printf("%s\n",line);
fputs(line, fp2);


fclose(fp);
fclose(fp2);
printf("Over");

参考技术B #include <stdio.h>
int main()

FILE *pword,*pword1;char a;
if((pword = fopen("word.txt","rt")) == NULL) return 0;
if((pword1= fopen("word1.txt","at")) == NULL) return 0;
do

a = fgetc(pword);
fputc(a,pword1);
while (a != EOF);
fclose(pword);fclose(pword1);
return 1;
追问

大侠,不行噢,
我的要求首先是要把词库word.txt显示在屏幕上,然后把词库存入到word1.txt
中哦,请你在试试啦

追答

在a = fetc (pword);
后面加一个 printf("%c",a);

追问

不能实现我的要求哈,大侠再试试

追答

额```
你自己用一个FSEEK函数搞下吧,每次跳2M的数据

追问

我是初学者还没学到哪哈,大侠,你帮帮忙啊

本回答被提问者采纳

以上是关于c语言如何将printf产生的数据写到txt文件中的主要内容,如果未能解决你的问题,请参考以下文章

怎样用C语言将文件复制另外的文件夹

如何在两个dll文件之间传送数据

C语言如何读取txt文件里边的数据

易语言如何写到文件创建txt新文件?

php将数组元素按行写入文本文件

用c语言将已有两个文件test1.txt和test2.txt文件的数据,合并后存放到文件te