Guest |
Отправлено: 13.09.2004, 09:33 |
|
Не зарегистрирован
|
Спасиб |
|
Gedeon |
Отправлено: 13.09.2004, 10:22 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
CODE |
bool __fastcall TDM::WriteToFileMsg(AnsiString FileName, AnsiString Msg)
{
if(!FileExists(FileName)){
HANDLE File = CreateFile(FileName.c_str(),NULL,NULL,NULL,
CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
CloseHandle(File);
}
char* WriteFileName = FileName.c_str();
char* WriteMessage = Msg.c_str();
FILE *file = fopen(WriteFileName,"a+");
if(!file) return false;
for(unsigned int i=0; i<strlen(WriteMessage); i++){
if(fputc(WriteMessage[i],file)==EOF) return false;
}
if(fclose(file)==EOF) return false;
return true;
}
//--------------------------------------------------------------------------- |
Если файла нет, то создает его и пишет туда Msg, если есть дописывает Msg в конец.
|
|
Guest |
Отправлено: 17.09.2004, 17:32 |
|
Не зарегистрирован
|
а в середину? или в начало? |
|
Konstantine |
Отправлено: 20.09.2004, 08:25 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
открываешь FileOpen для Append и потом FileSeek устанавливаешь тек. позицию. Закрыть — FileClose.
Можно и так: (если текст не большой) — так понятнее:
CODE | TStringList* file;
file=new TStringList;
file->LoadFromFile("FileName");
file->Add("New String").// добавляешь строку в file
file->SaveToFile("FileName");
delete file;
|
|
|
xim |
Отправлено: 22.09.2004, 10:11 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
QUOTE (Guest @ 17/09/2004, 18:34) | а в середину? или в начало? |
Работа с файлом напоминает очередь в магазине. Безобидно можно встать только последним. Для того чтобы встать посередине или первым — нужно разогнать соответствующую часть очереди, встать самому, а потом уже позволить пострадавшим присоединяться сзади |
|