如何改变输出方式(让printf输出结果保存到TXT文本中) |
您所在的位置:网站首页 › c语言怎么打印文件内容 › 如何改变输出方式(让printf输出结果保存到TXT文本中) |
查阅相关资料,汇总如下: #include #include 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; }欢迎参考 实例分析: 需求:让用户输入学员的姓名、年龄, 并把这些信息按照如下格式,保存到文件 students.txt 例: 姓名:刘备 年龄:38 姓名:张飞 年龄:35 #include int main(){ char name[32]; int age; FILE *file; char c; file = fopen("students.txt","w"); if(!file){ printf("文件打开失败\n"); return 1; } /* 分析: 用户输入: Rose 31 输入缓冲区: 'R' 'o' 's' 'e' '\n' '31' '\n' 当缓冲区的数据存入数组后,输入缓冲区内还存留'\n',%d默认跳过读到整数 */ while(1){ //提示用户输入 printf("请输入学员姓名:"); scanf("%s",name);//Rose printf("请输入%s的年龄:",name); scanf("%d", &age);//31 //按照指定格式保存到文件 fprintf(file,"姓名:%s\t年龄:%d\n",name,age); //清空输入缓冲区 fflush(stdin);//fflush 刷新 /*或者: while((c=getchar()) != '\n'); */ printf("还需要继续输入吗?Y/N\n"); scanf("%c", &c);//如没有清空输入缓冲区,将读取了以前残留的'\n' if(c == 'y' || c == 'Y'){ continue;//继续输入 }else{ break; } } fclose(file); return 0; }fprintf 往文件中写格式化数据 函数原型: #include int fprintf( FILE *stream, const char *format, ... ); Demo1: #include int main(){ //格式字符串 fprintf(file,"name:%s,age:%d\n","zhangshan","25"); return 0; }Demo2: while(1){ //提示用户输入 printf("请输入学员姓名:"); scanf("%s",name);//Rose printf("请输入%s的年龄:",name); scanf("%d", &age);//31 getchar();//将多余回车符读取掉 //按照指定格式保存到文件 fprintf(file,"姓名:%s\t年龄:%d\n",name,age); printf("还需要继续输入吗?Y/N\n"); scanf("%c", &c);//如没有添加getchar,将读取了以前残留的'\n' if(c == 'y' || c == 'Y'){ continue;//继续输入 }else{ break; } }
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |