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

 我来答
小星星教育知识分享
高粉答主

2019-12-10 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67130

向TA提问 私信TA
展开全部

#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,这些输出结果都是隐藏了进制的。

风若远去何人留
推荐于2017-10-01 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450104
专业C/C++软件开发

向TA提问 私信TA
展开全部
有以下三种方式可以做到:

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为打开的文件指针。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户77277
推荐于2017-10-01 · 超过64用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:58.3万
展开全部
.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(追加)等以及相应的组合。{ //打开失败,出错处理}else{ lseek(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一样方便
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式