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

 我来答
千锋教育
2016-01-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向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为打开的文件指针。
capi93
2012-10-11 · 超过67用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:158万
展开全部
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一样方便
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式