Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2011, 20:09   #1
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию Почему теряются пробелы при чтении файла

Доброго вечера. Фигня какаято (с трудом удержался от мата) получается при чтении файла куда - то пропадают все пробелы, пробовал открывать с помощю потоков, и как двоичный файл в любом случае все на месте кроме пробелов.
Код:
     char s;
    AnsiString s1;
    int f, h;
    Memo1->Lines->SaveToFile("c:\\text"); // в мемо вводится текст с пробелами
    f=FileOpen("c:\\text",fmOpenRead);
    h=FileRead(f, (char*)s1.c_str(), 7);
    Memo3->Text=s1;
Идей больше нет выдохся, как можно еще попробовать?
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 28.03.2011, 06:00   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Рано выдохлись, код вобще не должен работать, т.к. s1 ничем не инициализирована.
И почему читается только 7 байт? Как-то так должно быть, всё на месте:
Код:
    AnsiString s1;
    int f, h, sz;
    //
    Memo1->Lines->SaveToFile("c:\\text");
    //
    f = FileOpen("c:\\text",fmOpenRead);

    sz = FileSeek(f, 0, FILE_END);
    s1.SetLength(sz);
    FileSeek(f, 0, FILE_BEGIN);
    //
    h= FileRead(f, (char*)s1.c_str(), sz);
    //
    Memo3->Text=s1;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.03.2011, 06:26   #3
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Спасибо большое, работает!!!
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при чтении из файла _-Re@l-_ Общие вопросы .NET 2 21.11.2010 20:12
Ошибка при чтении из файла alex_alpha Общие вопросы C/C++ 5 08.08.2010 20:28
ошибка при чтении файла ongleb Общие вопросы C/C++ 17 30.07.2009 13:48
ошибка при чтении файла Alik-Soldier Общие вопросы C/C++ 1 31.05.2009 20:44
Ошибка при чтении БД из файла!! sting БД в Delphi 4 14.12.2008 22:23