C++ 将文本文件读入数组

标签 c++ arrays file-io

我正在尝试将包含 20 个名称的文本文件读取到一个字符串数组中,然后将每个字符串打印到屏幕上。

string monsters[20];
ifstream inData;
inData.open("names.txt");
for (int i=0;i<monsters->size();i++){
    inData >> monsters[i];
    cout << monsters[i] << endl;
}inData.close();

然而,当我运行这段代码时,循环被执行但没有任何内容被读入数组。我哪里出错了?

最佳答案

你的 for 循环终止条件是错误的:

i < monsters->size()

这实际上会在数组中的第一个字符串上调用 size(),因为它位于第一个索引处。 (monsters 等同于 monsters[0])因为它默认为空,所以它返回 0,并且循环永远不会运行。

请记住,C++ 没有用于数组的 size() 运算符。您应该改为使用常量 20 作为终止条件。

i < 20

关于C++ 将文本文件读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396906/

相关文章:

javascript - 将值添加到 PHP 数组中的特定键位置

scala - 使用 rapture-io 从 base64 字符串创建临时文件

c++ - 列表的迭代器错误

php - 为 SQL 查询构造数组时出现问题

c++ - VS10 C++ - fatal error LNK 1120

python - 我希望所有 numpy 数组都强制为二维

python - 正则表达式匹配第一个和最后一个单词或任何单词

c++ - 可移植 fstream 文件路径的正确语法是什么?

c++ - 如何在macOS终端上执行Qt应用程序?

C++ 调用尚未定义的函数