PDA

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


()leg
09.02.2007, 22:37
Задача проги - найти .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"
Помогите пожалуйста!!!

nc.STRIEM
10.02.2007, 17:03
а вот если пишу путь к ini-шнику :
"C:\Program Files\Net Speakerphone 4\UINS\1446456456\config.ini" - прога не работает.
символ \ воспринимаеться как экранирование! поэтому нужно писать "C:\\Program Files\\Net Speakerphone 4\\UINS\\1446456456\\config.ini"


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

а и зачем те тут conio.h и stdlib.h ?

()leg
10.02.2007, 21:24
символ \ воспринимаеться как экранирование! поэтому нужно писать "C:\\Program Files\\Net Speakerphone 4\\UINS\\1446456456\\config.ini"


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

а и зачем те тут conio.h и stdlib.h ?

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

conio.h для getch(), а stdlib.h не выкинул просто -эксперементировал