读取多个字符串行,c++ 读取多个变量;
Reading multiple string lines, c++ to multiple variables;
>我正在尝试用 c++ 读取此类输入数据;
输入:
嗨,我是约翰。你好吗?
我是
你好吗
我想将第一行字符串存储到 s,第二行字符串存储到 subs1,第三行字符串存储到 subs2。
我尝试为每行使用 getline,但它不起作用。
#include <iostream>
//#include <cmath>
//#include <climits>
#include <string>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
string s, sub1, sub2;
getline(cin, s);
getline(cin, sub1);
getline(cin, sub2);
我怎样才能做到这一点?
另外,两者之间有什么区别:
#include <iostream>
//#include <cmath>
//#include <climits>
#include <string>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n;
cin >> n;
string s = "", s1;
for (int i = 0; i < n; i++) {
getline(cin, s1);
s += s1;
}
cout << s;
return 0;
}
和:
#include <iostream>
//#include <cmath>
//#include <climits>
#include <string>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n;
cin >> n;
string s = "", s1;
while (getline(cin, s1)) {
s += s1;
}
cout << s;
return 0;
}
如果您从文件读取,则不需要为getline
函数提供cin
,您需要提供文件的流。如何获得的示例:
#include <fstream>
std::ifstream ifs ("test.txt", std::ifstream::in);
getline(ifs, str);
这两个代码片段的区别在于,您不必指定要读取的行数,while(getline)
它将读取文件直到到达文件末尾。
相关文章:
- 从字符串变量中逐字符读取单词
- C++:如何读取分离变量,然后读取向量
- 全局变量 多读取器 一个写入器多线程安全?
- 在指向函数中读取变量时出现分割错误
- 从Objective-C中的C 标头读取变量
- qml从c++读取变量
- 从字符串中读取变量数据
- 如何从另一个类读取变量
- 如何使用 std::getline 来匹配预期的输入并读取变量部分
- 如何从标准向量前端读取并删除读取变量
- 如何从一个对象的传递指针中读取变量
- 正在从C++中的.mat文件中读取变量
- 初始化数组,放置新,读取变量,定义的行为
- 读取变量时发生简单代码错误:无法访问地址处的内存
- GDB:<错误读取变量>,带有 C++ 向量
- 从文件中读取变量时出现问题
- QMutex需要读取变量
- 在多线程环境中读取变量是否总是有效的?
- 正在从配置文件中读取变量
- 与'fgets'同时读取变量