Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.89
ElemeNT
1 / 1 / 0
Регистрация: 27.10.2008
Сообщений: 25
#1

Файлы, поиск слова и замена на другое слово - C++

15.12.2008, 01:00. Просмотров 3417. Ответов 4
Метки нет (Все метки)

Напишите программу, которая в файле INPUT.txt заменяет слово "hello" на
слово "reboot"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2008, 01:00     Файлы, поиск слова и замена на другое слово
Посмотрите здесь:

C++ Замена слова одно на другое с fgets
C++ Распечатать количество вхождений заданного слова в каждую строку и заменить его на другое заданное слово
Замена одного слова на другое в массиве строк С++ C++
C++ вывести слова - анаграммы из словаря, состоящего из пар слов(при чтении в обратном порядке образуется другое слово)
C++ Строки. Замена слова в строке на заданное слово
Замена введенного слова на другое C++
Замена слов в строке на другое слово C++
C++ Замена одного слова на другое в строке типа char
Замена слова в файле на другое слово C++
C++ Замена одного слова на другое
C++ Замена одного слова в строке на другое
Замена слова на другое во всём тексте C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.12.2008, 07:10     Файлы, поиск слова и замена на другое слово #2
Код
 
#include <stdio.h>
#include <string.h>

#define MAXLINE  1000    /* максимальная длина строки */

/* в файле заменяет одно слово на другое */
main()
{
    void filecopy(FILE *, FILE *);
    FILE *fp, *tfp;
    char line[MAXLINE], out[MAXLINE], *p;
    const char *fname = "file.txt", *pattern = "hello", *replace = "reboot";
        
    if ((fp = fopen(fname, "rb")) == NULL
     || (tfp = tmpfile()) == NULL)
        return 1;
    while ((p = fgets(line, MAXLINE, fp)) != NULL) {
        strcpy(out, line);
        while ((p = strstr(line, pattern)) != NULL) {
            sprintf(out, "%.*s%s%s", p-line, line, replace, p+strlen(pattern));
            strcpy(line, out);
        }    
        fprintf(tfp, "%s", out);
    }
    fclose(fp);
    if ((fp = fopen(fname, "wb")) == NULL)
        return 2;
    rewind(tfp);
    filecopy(tfp, fp);
    fclose(tfp);
    fclose(fp);
    return 0;
}

/* filecopy:  копирование файла ifp в файл ofp */
void filecopy(FILE *ifp, FILE *ofp)
{
    int c;
    
    while ((c = getc(ifp)) != EOF)
        putc(c, ofp);
}
ElemeNT
1 / 1 / 0
Регистрация: 27.10.2008
Сообщений: 25
17.12.2008, 16:43  [ТС]     Файлы, поиск слова и замена на другое слово #3
Почему то на моем компе запускаеться прога работает норм, а на серваке нифига. Интересно из-за чего?
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.12.2008, 23:39     Файлы, поиск слова и замена на другое слово #4
echo %errorlevel% после запуска
ElemeNT
1 / 1 / 0
Регистрация: 27.10.2008
Сообщений: 25
24.12.2008, 19:32  [ТС]     Файлы, поиск слова и замена на другое слово #5
sprintf(out, "%.*s%s%s", p-line, line, replace, p+strlen(pattern));---------- accept -------------объясни эту строку--------- почему пишем %.*s это как понять?
Yandex
Объявления
24.12.2008, 19:32     Файлы, поиск слова и замена на другое слово
Ответ Создать тему
Опции темы

Текущее время: 10:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru