如何改变输出方式(让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 ;
}
实例分析:
需求:让用户输入学员的姓名、年龄,
并把这些信息按照如下格式,保存到文件 students.txt
例:
姓名:刘备 年龄:38
姓名:张飞 年龄:35
#include <stdio.h> int main(){
char name[];
int age;
FILE *file;
char c; file = fopen("students.txt","w");
if(!file){
printf("文件打开失败\n");
return ;
} /*
分析:
用户输入:
Rose
31
输入缓冲区:
'R' 'o' 's' 'e' '\n' '31' '\n'
当缓冲区的数据存入数组后,输入缓冲区内还存留'\n',%d默认跳过读到整数
*/ while(){
//提示用户输入
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 ;
}
fprintf 往文件中写格式化数据
函数原型:
#include <stdio.h>
int fprintf( FILE *stream, const char *format, ... );
Demo1:
#include <stdio.h> int main(){
//格式字符串
fprintf(file,"name:%s,age:%d\n","zhangshan","");
return ;
}
Demo2:
while(){
//提示用户输入
printf("请输入学员姓名:");
scanf("%s",name);//Rose
printf("请输入%s的年龄:",name);
scanf("%d", &age);//
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;
}
}
如何改变输出方式(让printf输出结果保存到TXT文本中)的更多相关文章
- 浅谈集合框架四——集合扩展:集合循环输出方式及list输出方式的效率对比
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- [matlab]改变矩阵的大小并保存到txt文件
要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...
- 【转】keil+stm32+jlink利用swd方式进行printf输出
出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------- ...
- shell输出颜色、printf输出颜色
1.echo开启彩色输出: -e 开启echo中的转义: \e或者\033来输出Esc颜色: 恢复默认颜色为:\e[0m; 命令格式: echo -e "\e[字背景颜色:文字颜色m字符串\ ...
- C++ code: 将程序的输出,保存到txt文档中,且每35个数,自动换行
// write the predicted score into txt files ofstream file("/home/wangxiao/Downloads/caffe ...
- 使用 PDO 方式将 Session 保存到 MySQL 数据中
类: <?php /* 使用数据库保存session */ class DBHandler implements SessionHandlerInterface { protected $dbh ...
- printf()输出
printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息.正在编写步骤时经常会用到此函数.printf()函数的挪用式样为: printf("<式样化字符串&g ...
- 基础篇:1.JavaScript运行在html中,引用有几种方式?—— 6.js中常用的输出方式?
书接上文,上文提到若干条JavaScript的基础性知识,大部分都是一些概念性的东西,本着认真严谨的态度,我们要认真对待,有些条目的问题是某个知识点的周边延伸,为节约篇幅,就一起整理了,如有描述不对的 ...
- printf 输出浮点数
在测试printf函数输出结果时,写了如下代码: /** * printf:格式化输出函数 * printf函数不会按照格式控制而对数据类型进行转换,不管三七二十一, * 抓到二进制数据就按照格式控制 ...
随机推荐
- P3041 [USACO12JAN]视频游戏的连击Video Game Combos
思路 简单的AC自动机上dp,暴力跳fail向子节点直接转移即可 代码 #include <cstdio> #include <algorithm> #include < ...
- Java方法中捕获多个异常的处理机制
/** * @author wangyunhan * @throws Exception */ public static void main(String[] argßs) throws Excep ...
- oracle 与其他数据库如mysql的区别
想明白一个问题:(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念(2)而mysql ...
- phpstorm软件配置端口问题
phpstorm默认的端口号是:63342 但是我装的apache服务器的默认端口是80 网上查找资料,都说可以加listen的端口,比如这里 #Listen 12.34.56.78:80 Lis ...
- URL helper 逆向破解思路+详细过程 利用messagebox破解
先了解一下软件的运行: 打开后是这样的,要注册 随便输入假注册码,看他怎么响应: 会弹出一个信息窗(massageBox)提示注册失败.到这里就行了,关掉,然后用OD打开,按F9跑起来: 这里输入假码 ...
- 【BZOJ】3144: [Hnoi2013]切糕
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3144 MDZZ,不知道为什么被卡常数了/TAT(特判才过去的....论vector的危害性 ...
- 3.1 vue组件的使用
1. 组件 组件: 组件是一个局部功能界面,它包含了所有要实现这个功能界面的相关资源,如css.html等. 组件化编程: vue文件包含3个部分 <template> <div&g ...
- ORACLE的rownum用法讲解
如果选择踏足,终有一天你会爱上这条路. 今天讲讲ORACLE中关于ROWNUM的用法: 一.简单介绍一下ROWNUM是什么,可以用来干什么. 答:ROWNUM是一个序列,会根据sql语句自动给你加上一 ...
- git checkout -b 分支name 分支的新建, 切换, 删除, 查看
$ git checkout 711 -berror: switch `b' requires a value 以上, 可以看出, 参数 -b 放到最后是错误的. 711@MININT- 64 /d ...
- Codeforces 960D - Full Binary Tree Queries
960D - Full Binary Tree Queries 思路: 用move1[i]记录第i层第1种操作移动的个数(对这一层的个数取模) 用move2[i]记录第i层第2种操作移动的个数(对这一 ...