C++中实现控制台中输入的内容保存到文件中
2014-07-21 09:14
141 查看
Xiaohui Huang, hxh1994@foxmail.com
China University of Geosciences, Wuhan , 430074
School of Computer. Network Engineering
C++中实现将控制台中输入的内容保存在文件中
(1)文件的相关操作:我们要实现将输入的内容保存在文件中,不可避免的会涉及文件的相关操作;
(2)如何实现在控制台上一直输入直至遇到结束标识符:大家都知道,当我们在控制台上输入时如果输出的字符串中含有空格,那么系统就会将其分成多个字符串(以空格为区分标准)。
查看网上的相关资料发现了如下一种方法:
但是测试之后发现该方法有一些弊端:(1)当我们输入带空格的字符串的时候,系统是将其按多行存储(以空格作为区分),(2)退出无限输入模式是在控制台上使用快捷键CTRL+C或者CTRL+Z。
显然不满足我们的要求,在上述代码上稍作修改即可达到题目要求,详细代码见第三节。
Visual 2012下的文件目录:
运行结果截图:
查看项目文件夹,打开系统自动新建的文件my.txt
That is all. Thank you.
China University of Geosciences, Wuhan , 430074
School of Computer. Network Engineering
C++中实现将控制台中输入的内容保存在文件中
一、需求说明
最近在做一个项目,有一个功能要求是我们在windows的控制台上(快捷键win+R->cmd)输入一组字符串(该字符串可能包含空格或者换行符),直到我们输入一个结束标识符后,系统将我们之前在windows控制台上输入的内容保存在本地的文件中。二、核心技术分析
要实现本功能主要要考以下两点:(1)文件的相关操作:我们要实现将输入的内容保存在文件中,不可避免的会涉及文件的相关操作;
(2)如何实现在控制台上一直输入直至遇到结束标识符:大家都知道,当我们在控制台上输入时如果输出的字符串中含有空格,那么系统就会将其分成多个字符串(以空格为区分标准)。
查看网上的相关资料发现了如下一种方法:
int _input; fstream _out;//文件输出流 while(cin>>_input) { _out<<_input; cout<<"输入的约束条件为:"<<_input<<endl; }
但是测试之后发现该方法有一些弊端:(1)当我们输入带空格的字符串的时候,系统是将其按多行存储(以空格作为区分),(2)退出无限输入模式是在控制台上使用快捷键CTRL+C或者CTRL+Z。
显然不满足我们的要求,在上述代码上稍作修改即可达到题目要求,详细代码见第三节。
三、源代码展示
编译环境:Visual Studio 2012#include "stdafx.h" #include<iostream> #include<fstream> #include<string> #include<cstring> using namespace std; class Test { private: char _name[20]; string _input;//约束条件 fstream _out;//文件输出流 public: Test();//构造函数 ~Test();//析构函数 void Condition(); void show(); }; Test::Test() { strcpy_s(_name,"Default.txt");//默认新建文件名为Default.txt _input="";//默认是无输出条件 cout<<"请输入创建文件名字(默认情况下为Default.txt):"; cin>>_name;//用户可修改文件名 _out.open(_name,ios::out|ios::app); } Test::~Test() { _out.close(); } void Test::Condition() { cout<<"请输入约束条件:"<<endl; getline(cin,_input); while(getline(cin,_input)) { if(_input=="0") break; _out<<_input<<endl; } } int _tmain(int argc, _TCHAR* argv[]) { Test *a=new Test(); a->Condition(); system("pause"); }
Visual 2012下的文件目录:
运行结果截图:
查看项目文件夹,打开系统自动新建的文件my.txt
That is all. Thank you.
相关文章推荐
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- 自己用awt实现界面输入数据保存到Excel文件中
- C语言写的简单贪吃蛇程序,实现WASD控制蛇运动,输入输出流为C++
- js控制文本框输入的内容为(数字、字母、汉字)(二、js在函数中实现)
- c++输入文件处理按行读取并且将实现对一行数据分别处理
- c/c++: 读取配置文件(文本)内容的简单实现
- javafx实现拖人文件到node,将node里面的内容为文件保存
- 如何用java实现在网页中保存html编辑器 编辑好的 html 文件?!(如blog里发文章的时候把要发表的内容以html文件的形式保存到服务器上?)
- js控制文本框输入的内容为(数字、字母、汉字)(一、js在控件中实现)
- [mysql]将mysql输入内容保存文件
- 用c语言输入学生信息保存到文件中并读取文件内容
- 实现一个命令行linux终端应用程序,把输入的指定文件,映射到内存中,并打印出文件内容
- C++生成文件并在文件中输入内容
- JS控制输入框只输入数字类型与文件域只能选择文件的JS实现
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- 在窗体上放置saveFileDialog、openFileDialog两个控件。实现功能:1)程序运行时,在文本框(注意文本框多行、带垂直滚动条)中输入汉字、字符等,单击保存按钮,即可将文本框中内容保
- 输入一个整数,将此整数保存到文件中,以记事本打开,显示同样的内容
- JTextArea内容保存到txt文件上,如何实现换行
- C++读取与保存bmp图片文件编程实现
- 一个简单的利用ini配置文件以及用户输入的交互进行文件夹内容拷贝的批处理文件脚本的实现