如何改变输出方式(让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函数不会按照格式控制而对数据类型进行转换,不管三七二十一, * 抓到二进制数据就按照格式控制 ...
随机推荐
- JS控制显示/隐藏二级菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SpringMVC统一转换null值为空字符串的方法 !
在SpringMVC中,可以通过在<mvc:annotation-driven>中配置<mvc:message-converters>,把null值统一转换为空字符串,解决这个 ...
- SQL语句执行的顺序机制
From Where Group by Having Select 表达式 Distinct ORDER BY TOP/OFFSET-FETCH
- Javascript 日期格式化 相关操作
1.相关扩展函数 //--------------------------------------------------- // 判断闰年 //--------------------------- ...
- 【译】第41节---EF6-事务
原文:http://www.entityframeworktutorial.net/entityframework6/transaction-in-entity-framework.aspx EF默认 ...
- 【Ruby】【高级编程】正则
#[[正则]]=beginsub 和 gsub 及它们的替代变量 sub! 和 gsub! 是使用正则表达式时重要的字符串方法.所有这些方法都是使用正则表达式模式执行搜索与替换操作.sub 和 sub ...
- dbm.error: need 'c' or 'n' flag to open new db
#coding=utf-8 import shelve with shelve.open("shelve.ini","w") as f: f["k1& ...
- ZZNU 正约数之和
#include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #incl ...
- [原][osg][QT]osg与QT界面结合的简单例子二
//main.cpp #include "VREObliqueEditorQTWindow.h" #include <QtWidgets/QApplication> # ...
- Mac Anaconda 安装
下载地址 https://www.anaconda.com/download/#macos 选择对应的python 版本 安装 一路下一步 安装后打开如下 呵呵,此处装完,我的python 环境又从3 ...