如何改变输出方式(让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函数不会按照格式控制而对数据类型进行转换,不管三七二十一, * 抓到二进制数据就按照格式控制 ...
随机推荐
- 在Vue的构造器里我们写一个add方法,然后我们用实例的方法调用它
html <div id="app"> <div>{{message}}</div> </div> js var vm = new ...
- Python实现机器学习算法:EM算法
''' 数据集:伪造数据集(两个高斯分布混合) 数据集长度:1000 ------------------------------ 运行结果: ---------------------------- ...
- git界面里面复制粘贴
git界面里常用的粘贴方法: 1.Insert键或者Fn+Insert键 2.右键或者shift+右键 Paste 粘贴 3.还有一些设置可以用,在git面板中(或者右键),点击option选项 这里 ...
- 每日质量NPM包事件绑定_bindme(详解React的this)
一.bindme 官方定义: is a helper to bind a list of methods to an object reference 理解: 因为不推荐在render()里构建函数, ...
- Codeforces 767E Change-free
题目链接:http://codeforces.com/contest/767/problem/E 居然是一个瞎几把贪心(E比B水系列) 考虑要每一次操作至少要用${\left \lfloor \fra ...
- 遍历一个可迭代对象中的所有元素,但是却不想使用for循环
def manual_iter(): with open('/etc/passwd') as f: try: while True: line = next(f) print(line, end='' ...
- selenium打开chrome时,出现 "您使用的是不受支持的命令行标记:--ignore-certificate-errors""
from selenium import webdriveroptions = webdriver.ChromeOptions()options.add_experimental_option(&qu ...
- &&并且, ||或 , 的用法 ,区别
&&与运算必须同时都为true才是true,如果左边为false结果肯定为false: ||或运算,只要左边为true结果一定为true,两边都为false结果才是false. 只有当 ...
- vue.js相关UI组件收集
内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 ###UI组件 element ★9689 - 饿了么出品的Vue2的web UI工具套件 Vux ★6927 - 基于Vu ...
- CentOS/redhat使用光盘镜像源
1,首先进行光盘的挂载,注意光盘挂载时不会自动建立目录的, 所以需要自己建立目录. mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom #de ...