Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ФАЙЛИ / 25 сообщений из 91, страница 1 из 4
11.09.2006, 15:04
    #33978262
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Есть файл FILE_1.TXT. В нем несколько строк. В одной из них есть текст TEXT_1.
Нужно найти эту строку и добавить в ее конец текст TEXT_2, при условии, чо этого текста еще нет в этой строке....

Кто-нибудь может помочь?
...
Рейтинг: 0 / 0
11.09.2006, 15:07
    #33978278
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Кто-нибудь может помочь?помогают, когда что-то не получается.

Пиши, как пробовал, как не получилось
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:10
    #33978286
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
FILE *f = fopen("c:\\file_1.txt","rt+");//Open File for read

char charCompare[80];
const char* charInsertDll = "TEXT_2";
strcpy(charCompare, "TEXT_1");
char charBuf[80];
int n=0, fl=-1;
while ( fgets(charBuf, 80 , f) || fl > -1)
{
if (strstr(charBuf, charCompare) == 0)
if (strstr(charBuf, charInsertDll) == 0)
{
fl = n;
break;
}
else
{
fseek(f, 1, SEEK_CUR);
fputs(charInsertDll, f);
break;
}
fl = n;
n++;
}
...
Рейтинг: 0 / 0
11.09.2006, 15:13
    #33978297
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31
t> fseek(f, 1, SEEK_CUR);
t> fputs(charInsertDll, f);
Дак ты ж перезаписываешь существующий файл
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:15
    #33978307
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Я это вижу, но незнаю как написать правильно.
...
Рейтинг: 0 / 0
11.09.2006, 15:19
    #33978319
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Я это вижу, но незнаю как написать правильно
Если файл небольшой, то есть смысл загрузить его полностью в память, изменить, как надо и сохранить весь же обратно.
Если большой - то разумнее читать его последовательно, блоками, изменяя каждый блок, записывать их в новый файл. Старый потом удалить, новый переименовать в старый.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:19
    #33978320
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
И С/С++ тут вообще ни при чём.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:21
    #33978331
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Можешь подсказать как это сделать программно или где можно посмотреть подобный пример?
...
Рейтинг: 0 / 0
11.09.2006, 15:23
    #33978339
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Можешь подсказать как это сделать программномогу
tarasf31или где можно посмотреть подобный пример?не знаю я, где примеры смотреть. Ищи - тебе надо.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:24
    #33978343
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Можешь подсказать как это сделать программно или где можно посмотреть подобный пример?

Как загрузить файл в массив строк?
...
Рейтинг: 0 / 0
11.09.2006, 15:25
    #33978347
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Можешь подсказать как это сделать программноты хоть в чём пишешь-то ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:25
    #33978348
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Да.
...
Рейтинг: 0 / 0
11.09.2006, 15:27
    #33978359
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Visual C++ 6.0
...
Рейтинг: 0 / 0
11.09.2006, 15:27
    #33978364
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Да.

Код: plaintext
1.
char massiv_strok[ 1024 ][ 80 ];
...
Рейтинг: 0 / 0
11.09.2006, 15:30
    #33978375
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Akh tarasf31Да.

Код: plaintext
1.
char massiv_strok[ 1024 ][ 80 ];


Это ясно. Спасибо. А потом проверять в какую строку добавить ТЕКСТ_2 в цикле или есть другие способы?
...
Рейтинг: 0 / 0
11.09.2006, 15:32
    #33978383
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Я бы сделал FileMapping, в полученном блоке памяти нашёл строки, записывал бы их в новый файл, добавляя к ним в конце нужный кусок, при необходимости
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:33
    #33978387
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Карабас БарабасЯ бы сделал FileMapping, в полученном блоке памяти нашёл строки, записывал бы их в новый файл, добавляя к ним в конце нужный кусок, при необходимости
Posted via ActualForum NNTP Server 1.3
А как потом сохранить файл?
...
Рейтинг: 0 / 0
11.09.2006, 15:35
    #33978395
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31 Akh tarasf31Да.

Код: plaintext
1.
char massiv_strok[ 1024 ][ 80 ];


Это ясно. Спасибо. А потом проверять в какую строку добавить ТЕКСТ_2 в цикле или есть другие способы?

Так.
Способов еще уйма. Все зависит от того, насколько тебе это интресно.
Если действительно инересно, то спроси у Карабаса Барабаса, что такое FileMAping. ;)
...
Рейтинг: 0 / 0
11.09.2006, 15:36
    #33978399
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31А как потом сохранить файл?лехко
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:37
    #33978406
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
AkhЕсли действительно инересно, то спроси у Карабаса Барабаса, что такое FileMAping. ;)
дак я его к Рихтеру отправлю, за RTFM-ом :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:38
    #33978410
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Карабас БарабасЯ бы сделал FileMapping, в полученном блоке памяти нашёл строки, записывал бы их в новый файл, добавляя к ним в конце нужный кусок, при необходимости

Что такое FileMapping?
...
Рейтинг: 0 / 0
11.09.2006, 15:39
    #33978421
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
tarasf31Что такое FileMapping?
это я так сокращенно назвал технологию отображения файлов в память. Подробности - у Рихтера. Windows для профессионалов.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11.09.2006, 15:42
    #33978432
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Карабас Барабас tarasf31Что такое FileMapping?
это я так сокращенно назвал технологию отображения файлов в память. Подробности - у Рихтера. Windows для профессионалов.

Не наврал.
...
Рейтинг: 0 / 0
11.09.2006, 15:45
    #33978442
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
...
Рейтинг: 0 / 0
11.09.2006, 15:52
    #33978463
tarasf31
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛИ
Akh FileMapping для непродвинутых

FileMapping для всех ;)
Спасибо. Но мне надо чегото попроще.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / ФАЙЛИ / 25 сообщений из 91, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]