Я боролся с этой проблемой в течение одной недели и все еще далек от решения.
Я читаю простой текст из файла строками.Он читает все успешно, пока персонаж с определенным большим числом.Это число индивидуально для каждого файла и различно для разных файлов.
После достижения символа с таким большим числом он читает последовательности "\ x01 \ 0 \ 0 \ 0" (состоящие из 4 символов) дляодин или несколько раз вместо исходных символов, а затем все правильно читает (до следующего большого числа).
В двух словах - вместо чтения этого:
... many characters ...
First read failure!
... many characters ...
Second read failure, second read failure!
... many characters ...
etc.
itчитает это:
... many characters ...
First read f\x01\0\0\0re
... many characters ...
Second read failu\x01\0\0\0\x01\0\0\0\x01\0\0\0ead failure!
... many characters ...
etc.
У вас есть какие-либо идеи о причине этой проблемы?
Дополнительная информация:
1) The "ferror" condition is not true.
2) I am reading from file using streams (fopen, fread, fclose)
3) Have tested different read methods: "fread cycle" and "fgets".
The results are the same.
4) The binary optimization is disabled in the compiler's settings.
It seams that the problem is not connected with a compiler.
Neither GCC, nor Apple LLVM gives me the desired result.
5) Attempting to solve the issue, I converted the whole project from C++ to C,
but the problem doesn't disappear.