Seekg表现不如预期

时间:2018-02-26 00:28:33

标签: c++ iostream cin seekg

    #include <string>
    #include <iostream>

    int main() {
        std::string str;
        char magic[9];
        std::cin.read((char *)magic, sizeof(magic));
        std::cin.seekg(0, std::ios::beg);

        while (std::cin >> str) {
            std::cout << str << std::endl;
        }
    }

我的代码包含std :: cin上的seekg(0)函数的实现 它在某些文件上的表现不如预期 当运行时     ./a.out < filename

那些没有按预期运行的文件具有的属性是,它们的字符数(包括结束字符和其他空格)小于9(9是我们在搜索之前从cin读取的字符数)

如果文件包含超过9个字符,则表现符合预期 例如:

123456789

将输出

123456789

包含少于9个字符的文件不会提供输出

例如:

1234

不会输出

0 个答案:

没有答案