如何使用输入将字符串从文本文件传递到字符数组

How Do I use input to pass a string into a char array from a Text File

本文关键字:字符 数组 文件 文本 输入 何使用 字符串      更新时间:2023-10-16

嘿,我知道我可以使用字符串从文本文件中读取。然而,我需要使用字符数组。例如,如果我使用字符串,我会这样写

while (!input.eof()){
    input >> s;
}

如果我不知道字符串的长度,我不确定如何处理这个。我知道我可以使用getLine,但我更喜欢使用input。

我想也许我可以使用一个循环来检查,直到它达到""?

不管怎样,我觉得这个问题以前有人问过,但如果有,我找不到。如果是这样的话,很抱歉

可以考虑istream::getline。请注意,它可以用于c++字符串,并且必须对C字符串有长度限制。

我认为你应该避免在while条件下直接检查eof。它只在到达文件结束时返回true。因此,如果您有多行,您读取它,然后进行一些计算,当它在读取步骤中到达文件结束时,结果可能是意想不到的。因此,EOF的检查应该在像我的例子一样从流中读取后立即进行。
int main()
{
    ifstream input("filename.txt");
    const int MAX = 10000;
    char characters[MAX];
    while (true) {
        input.getline(characters, MAX - 1, 'n');
        if (input.eof())
            break;
    }
}