У меня есть файл типа: data, и я хочу прочитать этот файл так же, как я вижу содержимое файла с помощью команды
od -D filename в Linux
Другими словами, содержимое файла:
0000000 000002 000000 000002 000000 000002 000000 000002 000000
0000020 000004 000000 000004 000000 000004 000000 000004 000000
0000040 000006 000000 000006 000000 000006 000000 000006 000000
0000060
Но с помощью команды od -D filename на Linux я вижу:
0000000 2 2 2 2
0000020 4 4 4 4
0000040 6 6 6 6
0000060
Я хочу прочитайте этот файл в C ++, чтобы мне не приходилось манипулировать данными, а просто получить 222244446666
В приведенном ниже коде я читаю способом, который работает, но если файл содержит значения = 0, я не смогу спасти их в чтении.
ifstream file2 (file, ios :: in);
char ch;
if (file2.is_open ())
{
while (! file2.eof ())
{
file2.get (ch);
double num = ch;
//if (num != 0) {
cout << num << endl;
//}
}
}
file2.close ();
Когда я читаю таким образом, это выглядит так:
2
0
0
0
2
0
0
0
2
0
0
0
2
0
0
0
4
0
0
0
4
0
0
0
4
0
0
0
4
0
0
0
6
0
0
0
6
0
0
0
6
0
0
0
6
0
0
0
0
Я хочу знать, как я Можно прочитать этот файл, чтобы он принимал только реальные значения, то есть 222244446666, но если он содержит 0 значений, мне также нужно их получить. Пример: 000022224444 (поэтому я прокомментировал, если num! = 0, это работает не во всех случаях)
То есть мне нужно исключить эти нули, так как команда od -D filename делает