大良用户网站建设,世界工业设计大学排名前25,免费设计房屋的网站,上海企业体检我在程序编写过程中#xff0c;经常会遇到读入数据的问题#xff0c;大概这类问题分为两种#xff0c;一种是从控制台读取#xff0c;一类是从文件读取#xff0c;我这里收集了一些常见的读取方法#xff0c;以供参考。
控制台读取#xff1a;
情景一、有一个程序要求…我在程序编写过程中经常会遇到读入数据的问题大概这类问题分为两种一种是从控制台读取一类是从文件读取我这里收集了一些常见的读取方法以供参考。
控制台读取
情景一、有一个程序要求我们输入一个数组数组的个数已给定或者要求先给出个数然后输入数据。
代码 #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;
}情景二、不断输入数字然后求和分析这个问题的难点在于不知道输入数组的个数。当你输入数字或者字符串后回车按ctrlz结束输入
代码 #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: 45
78
45
^Z
Last value entered 45
Sum 168
请按任意键继续. . .#include iostream
#include string
using namespace std;
int main()
{string word;while (getline(cin, word))cout word endl;return 0;
}输入
ajdskalld
ajdskalld
nacjkncklsa
nacjkncklsa
^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;
}输入acsnkalc
acnkasm
^Z
acnkasm acsnkalc 请按任意键继续. . .情景三、读入如下格式的数据
3 5 6
5 6 7
5 4 4
即多行数据每行数据间以空格隔开。 #include iostream
#include vector
#include sstream
#include string
using namespace std;int main()
{vectorstring 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 6
2 3 4
7 5 6
^Z
1 5 6
2 3 4
7 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()
{vectorstring 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介绍使用方法与例子