Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Работа с текстовым файлом


Автор: Torgovec 20.11.2006, 14:38
У меня есть много файлов в которые необходимо внести одни и те же изменения, пока не очень-то получается...

Код

void outPutLine(char *) ;

int main(int argc, char *argv[])
{
    char temp[MAX] ;
    ifstream inRawFile(argv[1],ios::in) ;
    if(!inRawFile) { cout << "No such file or directory" << endl ; exit(1) ; }

    while(inRawFile >> temp)
    {
        if(*temp != "  ")                    Не срабатывает следующая конструкция, здесь имеется ввиду если натыкаемся в файле на двойной пробел
        {                                           заменить его строкой " ?SHA1*"
            outPutLine(temp) ;
        }
        else
        {
            outPutLine(" ?SHA1*") ;
        }
    }
    return 0 ;
}

void outPutLine(char *name)
{
    cout << name << " ?SHA1*";
}


Прошу подсказать в какую сторону копать...

Автор: Dov 20.11.2006, 16:18
Torgovec, на примере покажи, что у тебя есть и что должно получится в результате работы программы.

Автор: Torgovec 20.11.2006, 16:57
ОК,
Есть много файлов следующего содержания:
Код

d544b8a6f8cc43fa9a709ef21daed8411665f543  FILE-name.gpg

из них должны получится файлы следующего:
Код

d544b8a6f8cc43fa9a709ef21daed8411665f543  ?SHA1*FILE-name.gpg


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

#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>

#define MAX 100 

Автор: Alexeis 20.11.2006, 17:21
Модератор: так называть темы нельзя. Читайте правила раздела. На первый раз я сам исправил заголовок.
Цитата

> Вот так верно: "[С++] Cоздание таблиц в псевдографике", "[Алгоритм] Решение СЛАУ методом Зейделя", "[Матан] Решение интеграла"
> А вот так запрещено: "Помогите написать прогу...", "Небольшой вопрос по ...", "нужна помощь!", "Горю!".


Автор: Torgovec 20.11.2006, 17:28
To alexeis1, спасибо.
To all, тему можно закрывать, помогло сравнение строк с помощью strcmp, после этого программа заработала.

Код

       if(strcmp(temp,divider))
        {                                  
            outPutLine(temp) ;
        }
        else
        {
            outPutLine(" ?SHA1*") ;
        }

Автор: Alexeis 20.11.2006, 17:39
Цитата(Torgovec @  20.11.2006,  17:28 Найти цитируемый пост)
тему можно закрывать

Опять же это должны делать вы сами (ссылка "Пометить как решённый").

Добавлено @ 17:39 
Вверху в заголовке темы.

Автор: Rockie 20.11.2006, 22:00
Torgovec, если сделать temp стрингом то тогда можно сравнивать прямо так:
Код
    if(temp == "  ")  


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)