This question already has answers here:
Read file line by line using ifstream in C++
(8个答案)
15天前关闭。
这是问题。
我需要从文件中读取一些名称,例如:
如何读取输入流以知道数字'12',但不提取它们以使用C++中的
所有建议将不胜感激。
去那里的另一种方法是尝试
(8个答案)
15天前关闭。
这是问题。
我需要从文件中读取一些名称,例如:
James Brown /n
Peter Lee /n
Chris Wu /n
Steven Huang /n
Kelly Yang /n
首先,我需要知道输入流中最长的名称有多长时间,然后需要创建一个动态的二维char数组。最后,将名称放入动态数组中。(在这种情况下,我需要创建5 * 12数组,因为“Steven Huang”中有12个字母。)如何读取输入流以知道数字'12',但不提取它们以使用C++中的
cin>>
将其放入数组中?所有建议将不胜感激。
最佳答案
我猜最简单的答案是只使用cin找出单个字符。尽管这不是一种有效的语言,但您似乎对学习基本语言更感兴趣,因此它可能有助于您遵循自己的思路。
char c;
std::string s;
std::vector<std::string> vector_of_strings;
while(cin >> c)
{
s = s + c;
if ( c == '\n')
{
vector_of_strings.emplace_back(s);
s = "";
}
}
那么您就可以遍历vector_of_strings,检查每个长度并进行后期处理。去那里的另一种方法是尝试
std::getline
#include <sstream>
std::string line;
std::vector<std::string> vector_of_strings;
std::getline(std::cin, line);
while(line.length() > 0) //stop when user enters empty line
{
std::getline(std::cin, line);
vector_of_strings.emplace_back(line);
}
然后再进行一些后处理关于c++ - 如何读取输入流,但不提取c++中的输入流? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64226333/
10-11 10:51