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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2010, 13:38   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию Не вижу результата

при условии, что файл file.txt
лежит в одной директории с exe файлом

текст в файле :"в науке есть радость.Наука приносит удовольствие"
Используя функции обработки строковых и символьных переменных скорректировать текст на "в науке есть радость, она приносит удовольствие"

Код:
#include <stdio.h>
#include <iostream>

int main(int argc, char* argv[])
{
    char text[1024];
    char Dest[256];
    char *ptr;

    FILE *fp;
    fp=fopen("file.txt", "r");
    if(!fp)
        return 0; //Ошибка открытия файла
    fgets(text, 1024, fp);
    fclose(fp);
    if(strlen(text) < 1)
        return 0; //Ошибка , ничего не считали с файла
    

    Dest[0]=0;
    ptr = strstr(text, ".Наука");
    strncpy(Dest, text, ptr-text);
    Dest[ptr-text] =0;  //так как strncpy не добавляет в конец строки симол конца строки \0
    strcat(Dest, ", она ");
    ptr = strstr(text, "приносит");
    strcat(Dest, ptr);

    return 0;
}
Айдар вне форума Ответить с цитированием
Старый 19.09.2010, 13:40   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну у вас как бы нет вывода результата.

и за кросспостинг здесь ругаются.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.09.2010, 13:43   #3
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

т.е мне надо вывести text? у меня еще программа отк и закрываеться сразу, можете отредактировать код что бы все норм работало?
Айдар вне форума Ответить с цитированием
Старый 19.09.2010, 13:45   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас программа что написано то и делает, читает из файла чтото там меняет в памяти и закрывается(это все написано, это и выполняется)
добавьте в конце (перед return 0)
Код:
std::cout<<text;
std::cin.get();
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.09.2010, 14:06   #5
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

тоесть конечный код выглядит так?

Код:
#include <stdio.h>
#include <iostream>

int main(int argc, char* argv[])
{
    char text[1024];
    char Dest[256];
    char *ptr;

    FILE *fp;
    fp=fopen("file.txt", "r");
    if(!fp)
        return 0; //Ошибка открытия файла
    fgets(text, 1024, fp);
    fclose(fp);
    if(strlen(text) < 1)
        return 0; //Ошибка , ничего не считали с файла
    

    Dest[0]=0;
    ptr = strstr(text, ".Наука");
    strncpy(Dest, text, ptr-text);
    Dest[ptr-text] =0;  //так как strncpy не добавляет в конец строки симол конца строки \0
    strcat(Dest, ", она ");
    ptr = strstr(text, "приносит");
    strcat(Dest, ptr);
    cout<<text;
    cin.get();

    return 0;
}
Айдар вне форума Ответить с цитированием
Старый 19.09.2010, 14:07   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и за кросспостинг здесь ругаются.
И между прочим не зря. кросспост удалил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2010, 14:18   #7
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Извеняюсь за дублирования, но тоесть мой пред код норм должен работать?
Айдар вне форума Ответить с цитированием
Старый 19.09.2010, 14:27   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а кто вам мешает взять и проверить?(если код выполняет то что нужно и без ошибок значит его можно считать правильным)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень просто, но не вижу ошибок Tanilita Общие вопросы C/C++ 5 01.03.2010 17:04
С++ Builder, строки. Не вижу где ошибка. ernie Помощь студентам 2 23.12.2009 19:38
Не вижу свойства MasterSource у объекта DBGrid fs444 C/C++ Базы данных 4 04.09.2009 09:29
Не вижу ошибки!!! MacTiger Общие вопросы C/C++ 2 23.08.2009 11:48
не вижу причину ошибки k8ghost Помощь студентам 5 15.06.2008 15:04