ifstream get string的字符串进入数组
ifstream getline of string into Array?
我正在尝试使用此功能
int input(int marks[classMax][3], string names[classMax], float& avg)
{
for (int i = 0; i < students; i++)
{
for (int j = 0; j < 3; j++)
{
fin >> marks[i][j];
}
fin >> names[i];
}
}
将带有学生名称的标记列表分为两个数组。列表如下: M1 M2 M3 FirstName LastName
,M表示标记。该循环工作正常,但是当它到达名字和姓氏之间的空间时,该程序似乎仅将一个名称写入数组中。我尝试使用fin.get
和fin.getline()
,但我遇到了此错误:
error: no matching function for call to 'std::basic_ifstream<char>::get(std::strings&, int)'
您可以尝试以下方法:
int input(int marks[classMax][3], string names[classMax], float& avg)
{
for (int i = 0; i<students; i++)
{
for (int j = 0; j<3; j++)
{
fin >> marks[i][j];
}
std::getline(fin, names[i]);
}
}
有关更多信息,请查看cppreference。
std::basic_istream::getline
不服用 std::string
。
std::getline
是您要与std::string
一起使用的。由于它是一个非成员函数模板,请以输入流将其称为第一个参数,而输出字符串为第二个:
std::getline(fin, names[i]);
相关文章:
- 使用 jsoncpp 解析 json 数组字符串
- C++ 对象数组字符串输入在控制台上不起作用
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 无法区分 JSON 对象/数组/字符串
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何使用数组字符串进行输入验证
- (C++) 打印字符数组字符串的单词时出现问题
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- C 函数反转字符数组字符串
- 如何在 c++ 中创建数组(字符串 [] )的向量
- 如何返回数组字符串的指针
- char数组字符串混淆
- 如何从字符数组字符串中提取空格
- 是否可以将 Bitset<8> 的值复制到数组字符串而不转换它们?
- C++数组字符串函数
- 如何在函数中操作字符数组(字符串)的指针,该指针在C / C ++中作为参数传递
- visual将音频文件存储到数组/字符串流C++中
- c++在char数组(字符串)上将what替换为
- 将数组字符串转换为intger c++(初学者)
- 需要设置数组字符串长度,使其恰好为13