Почему-то поток ввода не дает знаки пробелов/перехода на новую строку. Фрагмент кода:
in_f.seekg (0, in_f.end);
int end_f = in_f.tellg();
in_f.seekg (0, in_f.beg);
int current = 0;
while (!in_f.eof() && ((end_f - current) >= SIZE_OF_BLOCK * SIZE_OF_BLOCK)){
for (int i = 0; i < SIZE_OF_BLOCK; i++){
for (int j = 0; j < SIZE_OF_BLOCK; j++){
in_f >> arr_blocks[i][j];
}
current = in_f.tellg();
}
В массиве оказываются только буквы. Как мне добавить пробелы и переход на новую строку? З.Ы. Такой маленький подвопрос: Можно ли как нибудь проверять, сколько символов осталось непрочитанными, другим спосбом, т.е. не таким как у меня, т.к. мне эта конструкция кажется монструозной.
Кроме указания std::noskipws
можно прочитать весь файл в std::string
так (а после уже обрабатывать строку вместе с вайтспейсом):
std::string read(std::ifstream& in) {
std::stringstream sin;
sin << in.rdbuf();
return sin.str();
}
Нужно просто включить бинарный режим для чтения. Вы не показываете полный код, так-что пока такой намёк:
open ("filename",ios_base::openmode mode = ios_base::in | ios_base::binary);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть класс часы и статический атрибут часовой поясНеобходимо перевести все часы