хотя конечно винда на киосках, банкоматах, музыкальных автоматах, игровых автоматах, пополнялках и других устройствах, которые должны просто работать не требуя постоянного обслуживания — это страшно.
Я конечно не претендую на звание гуру, но по-моему с помощью метода, принимающего в качестве аргумента 32-битное число, сложно переместить указатель чтения на позицию более чем 4294967295.
Не цепляйтесь к несущественным деталям.
Лучше объясните каким образом потом считать данные, расположенные в зоне >4Гб, после того как записали их в файл в режиме append. Думайте на шаг вперед, а с флагами он сам разберется если это не банальная опечатка.
А ошибка в коде на самом деле есть и она гораздо серьезнее:
Зачем Вы потом вызываете ofs.seekp(pos, ios_base::beg); мне не понятно.
Мне вот понятно. Это сделано для того чтобы сразу увеличить размер потока до значения «long long pos = 5000000000;».
Но проблема в том, bluebyte, что, насколько я знаю, в стандарте ничего не сказано о поведении системы этом случае. А значит в зависимости от компилятора ( или даже его версии ), ОС и еще какой-то матери оно может изменяться и вместо увеличения размера потока Вы получите ошибку.
Кстати, ixSci, к сожалению проверить не могу, но возможно что просто этот хак заработал только с такой комбинацией флагов :)
Забыл сказать что поскольку дров от производителя под линух нет, то не работают программируемые клавиши и зум. Но я пробовал только на федоре, так что в другом дистре могут работать.
Давно была похожая проблема под линуксом — при подключении наушников звук продолжал выводиться на динамики параллельно с наушниками. Решилось обновлением системы.
Кстати у тебя какая операционка?
Я тоже ставил Престу — с шаблоном Black&White она весьма хороша, даже не смотря на то что его нужно допиливать, а у нее небольшие огрехи в переводе :)
Легкая, довольно быстрая и относительно легкая в настройке. Правда говорят что не выдерживает больших нагрузок поскольку изначально рассчитана на магазинчики без бешенных наплывов клиентов.