как реализовать поиск и правку нужного файла?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ()leg, 9 Feb 2007.

  1. ()leg

    ()leg New Member

    Joined:
    30 Jan 2007
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Задача проги - найти .ini файл и подправить его - поменять параметр строки UseWizmo с 0 на

    1. Я новичок ну вот наваял))) , этот кусок может только считать и вывести на экран конфиг с

    изменённым параметром, а как внести изменение в сам ini - шник?
    #include<stdio.h>
    #include<stdlib.h>
    #include<fstream.h>
    #include<conio.h>

    int main()
    { char buff[81];
    char* prim="UseWizmo=0";
    char* id="UseWizmo=1";
    ifstream infile;
    infile.open("config.ini"); // ????
    if(!infile) {cout<<"ERROR!!!!!"; return 0;}
    for(int i=0; i!=80; i++){
    infile.getline(buff, sizeof(buff));
    if(!strcmp(prim,buff)) cout<<id<<endl;
    else
    cout<<buff<<endl;
    }
    infile.close();
    cout<<endl<<"press any key!";
    getch();
    return 0;

    }

    Ещё прога работает если только требуемый ini-шник в том же каталоге где и exe-шник самой

    проги, а вот если пишу путь к ini-шнику :
    "C:\Program Files\Net Speakerphone 4\UINS\1446456456\config.ini" - прога не работает. Ну и

    конечно оптимальный вариант - сделать так что бы прога сама искала требуемыц ini-файл благо

    название приложения (Net Speakerphone 4) известно, вдруг кто-то инсталирует не по умолчанию.

    Кстати, чуть не забыл, можно ли обойти ещё и проблемку- UINS(смотри в пути к конфигу) у

    каждого разный, поэтому путь, в случае без авто-поиска нельзя забивать с "1446456456"
    Помогите пожалуйста!!!
     
  2. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    символ \ воспринимаеться как экранирование! поэтому нужно писать "C:\\Program Files\\Net Speakerphone 4\\UINS\\1446456456\\config.ini"


    а в ствоем файле ini ровно 80 строк?

    а и зачем те тут conio.h и stdlib.h ?
     
    #2 nc.STRIEM, 10 Feb 2007
    Last edited: 10 Feb 2007
  3. ()leg

    ()leg New Member

    Joined:
    30 Jan 2007
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Большое спасибо насчёт дублирования слэша я и забыл, всё ок доступ есть.
    В ini строк немного больше около 100 но та что мне нужно подправить намного выше я это писал пока не заботясь о бережном использовании памяти, пока бы с основами разобраться))))
    Немного более конкретно поясню: приложение Net Speakerphone 4 использует свой файл конфигурации, я хочу написать прожку которая, запускаясь на чьей бы то -нибыло машине в идеале сама найдет местонахождение Net Speakerphonа поменяет параметр в его инишнике....
    А вот ещё второстепенный вопросик: у меня есть исходник- может считать текст. файл и создав новый, всё в него скинуть... Как мне удалить старый, чтоб потом создать одноимённый новый и заполнить его подправленной инфой?

    conio.h для getch(), а stdlib.h не выкинул просто -эксперементировал
     
    #3 ()leg, 10 Feb 2007
    Last edited: 10 Feb 2007