【问题标题】:How Do I use input to pass a string into a char array from a Text File如何使用输入将字符串从文本文件传递到 char 数组
【发布时间】:2016-11-11 04:53:57
【问题描述】:

嘿,我知道我可以使用字符串从文本文件中读取。但是我需要使用 char 数组。就像如果我使用的是字符串,我会这样做

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

如果我不知道字符串的长度,我不确定该怎么做。我知道我可以使用 getLine,但我更喜欢使用 input。

我在想也许我可以使用循环来检查直到它到达“\0”?

无论如何,我感觉这个问题以前有人问过,但如果有,我就找不到了。如果是这样的话,很抱歉。

【问题讨论】:

标签: c++ arrays char fstream


【解决方案1】:

你可以考虑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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多