最常见的读入数据方法集锦
来源:互联网 发布:女装原单淘宝店 编辑:程序博客网 时间:2024/05/23 23:58
我在程序编写过程中,经常会遇到读入数据的问题,大概这类问题分为两种,一种是从控制台读取,一类是从文件读取,我这里收集了一些常见的读取方法,以供参考。
控制台读取:
情景一、有一个程序要求我们输入一个数组,数组的个数已给定或者要求先给出个数,然后输入数据。
代码:
#include <iostream>#include <cmath>#include <vector>using namespace std;int main(){cout << "请输入数组的个数" << " ";int n;cin >> n;int *a = new int[n];for (int i = 0; i < n;i++){cin >>a[i];}cout << "输入的数据为" << " ";for (int i = 0; i < n; i++){cout <<a[i] << " ";}delete[]a;a = nullptr;return 0;}情景二、不断输入数字,然后求和
分析:这个问题的难点在于不知道输入数组的个数。当你输入数字或者字符串后,回车,按ctrl+z结束输入
代码:
#include <iostream>#include <cmath>#include <vector>using namespace std;int main(){cout << "Enter numbers: ";int sum = 0;int input;while (cin >> input)sum += input;cout << "Last value entered = " << input << endl;cout << "Sum = " << sum << endl;return 0;}输入:
Enter numbers: 457845^ZLast value entered = 45Sum = 168请按任意键继续. . .
#include "iostream"#include "string"using namespace std;int main(){string word;while (getline(cin, word))cout << word << endl;return 0;}
输入:
ajdskalldajdskalldnacjkncklsanacjkncklsa^Z请按任意键继续. . .
或者:
#include <iostream>#include <iterator>#include <algorithm>#include <vector>#include <string>using namespace std;int main(){istream_iterator< string > is(cin);istream_iterator< string > eof;vector< string > text;copy(is, eof, back_inserter(text));sort(text.begin(), text.end());ostream_iterator< string > os(cout, " ");copy(text.begin(), text.end(), os);return 0;}输入:
acsnkalcacnkasm^Zacnkasm acsnkalc 请按任意键继续. . .
情景三、读入如下格式的数据:
3 5 6
5 6 7
5 4 4
即多行数据,每行数据间以空格隔开。
#include <iostream>#include <vector>#include <sstream>#include <string>using namespace std;int main(){vector<string> stringlist;string str;cout << "请输入数字,每行三个" << endl;while (getline(cin,str)){stringlist.push_back(str);}int data;for (int i = 0; i < stringlist.size();i++){stringstream s(stringlist[i]);s >> data;cout << data<<" ";s >> data;cout << data << " ";s >> data;cout << data << endl;}return 0;}输入:
请输入数字,每行三个1 5 62 3 47 5 6^Z1 5 62 3 47 5 6请按任意键继续. . .
从文件读取:
情景一、同样是上述数据,读入文本数据,并输出。
3 5 6
5 6 7
5 4 4
#include <iostream>#include <fstream>#include <iterator>#include <iostream>#include <vector>#include <sstream>#include <string>using namespace std;int main(){vector<string> stringlist;string str;ifstream infile("inputfile.txt");while (getline(infile, str)){stringlist.push_back(str);}int data;for (int i = 0; i < stringlist.size(); i++){stringstream s(stringlist[i]);s >> data;cout << data << " ";s >> data;cout << data << " ";s >> data;cout << data << endl;}return 0;}
参考文献:
1.如何判断cin输入结束?
2.【C++】输入流cin方法
3.C++ stringstream介绍,使用方法与例子
0 0
- 最常见的读入数据方法集锦
- Java从键盘读入数据的三种常见方法
- 用DataGrid读入数据的方法
- 控制台读入数据的几种方法
- 高效读入数据的一种方法sasfile
- JAVA中数据读入的方法
- java从控制台读入数据的方法
- java从控制台读入数据的方法
- 数据挖掘最常见的十种方法
- 常识:数据挖掘最常见的十种方法
- matlab中常见txt文件读入的实用方法
- matlab中常见txt文件读入的实用方法(转)
- abatis数据的读入
- Java从控制台读入数据的几种方法
- 从键盘读入数据的三种方法
- 【引用】Java从控制台读入数据的几种方法
- 数据挖掘的常见方法
- 数据挖掘的常见方法
- Java I/O解读与使用实例
- 安装karma失败
- 黑马程序员_java学习笔记 8.集合框架
- UIPageViewController
- 飞鸽传书协议分析
- 最常见的读入数据方法集锦
- python 点滴
- 降低图片的内存消耗
- 怎么把pdf文件转换成html格式
- mp4v2封装函数H264中 MP4WriteSample参数问题
- jquery效果
- git常用指令
- Android NDK开发学习(五)
- Android 常用工具类源码大全