读取文件为二进制 - 循环永远不会结束

时间:2014-08-07 10:35:25

标签: c++

我使用以下代码打开文件,通过char读取char并将char号作为十六进制。问题是循环永远不会结束。这有什么问题?

是文件>> x相当于x = file.get()?

ifstream file;
    file.open(argv[1], ifstream::in|ifstream::binary);
    if (file.is_open())
    {
        unsigned char x;

        file >> std::noskipws;
        while (file >> x) {

            stringstream s;
            s << std::hex << std::setw(2) << std::setfill('0')
                << (int)x;

            std::cout << s.str();
        }

        file.close();
    }

0 个答案:

没有答案