在 C++ 中每行读取具有不同数量整数的输入
Reading input with varying number of ints each line in C++
我正在尝试从控制台读取用户输入。数据是这样的
3
3 100
5 100
6
9 200
6
9
其中第一行代表N,后面有2*N条。我如何决定一行有两个 int 输入还是只有一个。
我想过实现 getline,但这只给了我整行,并且给了我一个字符串,中间有一个 space。
谢谢
我总是使用 getline
并自己解析字符串。这为您提供了最大的灵活性,并且当您达到要进行错误处理的程度时,这几乎是一项要求。
根据通用分隔符(如 space)将字符串拆分成多个部分并不难。编写该代码对您来说是一种很好的做法。
std::vector<std::string> splitAt(const std::string &input, const std::string &delim) {
std::vector<std::string> vec;
...
return vec;
}
实施它,你就成功了。剩下的问题自己解决,你可以反复使用它。
我正在尝试从控制台读取用户输入。数据是这样的
3
3 100
5 100
6
9 200
6
9
其中第一行代表N,后面有2*N条。我如何决定一行有两个 int 输入还是只有一个。
我想过实现 getline,但这只给了我整行,并且给了我一个字符串,中间有一个 space。
谢谢
我总是使用 getline
并自己解析字符串。这为您提供了最大的灵活性,并且当您达到要进行错误处理的程度时,这几乎是一项要求。
根据通用分隔符(如 space)将字符串拆分成多个部分并不难。编写该代码对您来说是一种很好的做法。
std::vector<std::string> splitAt(const std::string &input, const std::string &delim) {
std::vector<std::string> vec;
...
return vec;
}
实施它,你就成功了。剩下的问题自己解决,你可以反复使用它。