Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с текстовым файлов 
:(
    Опции темы
bncom
Дата 26.2.2006, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Помогите, пожалуйста, с программой:
Скопировать содержимое текстового файла, удалив в каждой строке самое длинное слово.
Я тут даже смысл не понимаю. Что нужно:
- Копировать будем в любой файл (с учетом того, что его еще не существует), тогда нам надо его еще и создать.
- Файл уже существует, тогда мы его переписываем
Эти два варианта: мы будем вводить текст сами (руками)
- Открываем текстовый файл, удаляем самые длинные слова в каждой строчке, и записываем полученный результат в другой файл.
Этот вариант: мы просто прочитаем из файла текст.

Как сделать лучше?
Напишите, примерно, код.... smile

Язык: Си
Компилятор: TurboC 3.0
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
Aleksandor
Дата 26.2.2006, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Практик
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 22.11.2005
Где: россия, зеленогра д

Репутация: 0
Всего: 12



Можно прочитать файл в память, читать из памяти построчно попутно удаляя в каждой строке самое длинное слово, готовые строки записать в файл по одной или все сразу


--------------------
Call out Gouranga be happy!!!
Gouranga Gouranga Gouranga ....
That which brings the highest happiness!!
PM MAIL   Вверх
MAKCim
Дата 27.2.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Код

#include <stdio.h>

void recopy(const char* path)
{
    FILE* fs=fopen(path,"r");
    if (fs)
    {
        unsigned int bytes,i=0;
        char buffer[256];
        do
        {
            bytes=fread(&buffer[i],sizeof(char),1,fs);
            if (bytes)
            {
                if (buffer[i]=='\n')
                {
                    /*в массиве buffer[0]...buffer[i-1], здесь можно обрабатывать*/
                }
                i++;
            }
        }
        while (bytes)
    }
    close(fs)
}

int main(int argc, char* argv[])
{
    if (argc==2) recopy(argv[1]);
    return 0;
}



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bncom
Дата 27.2.2006, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Чего-то не работает, ошибки выдает...
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
Earnest
Дата 27.2.2006, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



bncom, ты программист или где?
Тебе дали каркас, предполагая, что дальше - ты сам.

За готовыми программами обращайся в Центр помощи или в Работу.


--------------------
...
PM   Вверх
MAKCim
Дата 27.2.2006, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

Чего-то не работает, ошибки выдает...

не знаю, чего у тебя не работает, пример правильный
может ты неправильно используешь?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Earnest
Дата 28.2.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



MAKCim,
а у тебя в примере кода пары завершающих точек с запятой не хватает, вот и не компилируется. smile


--------------------
...
PM   Вверх
bncom
Дата 28.2.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Earnest, к сожалению я не программист... smile
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
egorletov
Дата 28.2.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.2.2006

Репутация: нет
Всего: нет




file.txt sozday v papke proekte / potom v resyrs proekta podkuti

smisla ne ponal , no kompit)
Код




#include <stdio.h>
#include <conio.h>

void recopy(const char* path)
{
    FILE* fs=fopen("file.txt","r");
    if (fs)
    {
        unsigned int bytes,i=0;
        char buffer[256];
        do
        {
            bytes=fread(&buffer[i],sizeof(char),1,fs);
            if (bytes)
            {
                if (buffer[i]=='\n')
                {
                    /*в массиве buffer[0]...buffer[i-1], здесь можно обрабатывать*/
                }
                i++;
            }
        }
        while (bytes);
    }
   // close(fs);
}

int main(int argc, char* argv[])
{
    if (argc==2) recopy(argv[1]);
    getch();
    return 0;
}


PM MAIL   Вверх
MAKCim
Дата 28.2.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

а у тебя в примере кода пары завершающих точек с запятой не хватает, вот и не компилируется

smile smile логично, не обратил внимания


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.