1. есть динамический массив char** array; куда записываются строки из файла ф-ей getline имеющие вид www.adres.com, нужно прибавить к этим строкам http:// в начале такая конструкция выдаёт ошибку при запуске приложения, как сделать правильно? char* setpath; char setpath2[300]; setpath="http://"; strcpy(setpath2,array[j]); strcat(setpath,setpath2); 2. есть ли функция для определения пути директории с куками или имени компьютера, т.к. он от него зависит C:\Documents and Settings\compname\Cookies\compname@www.adres[1].txt 3. есть консольное приложение Visual studio VC++ 5, как сделать его вообще чтобы никакого окна небыло?
1) поиском пользуйся, 101 пример есть. 2) GetComputerName() - имя компьютера. 3) Если тебе не нужно окно, не легче сделать win32 приложение?
1. Сделай проще: 2. Тебе нужно не имя компьютера, а имя учётной записи, в чьи кукисы ты хочешь залезть. Для текущей учётной записи можно использовать: 3. Создай win32 приложение со скрытым окном... создай win32 приложение, там порождай функциональный процесс... Вариантов куча...
странно, но при всех вариантах что мне дали программа аварийно завершается... //вариант1 char setpath[]="http://"; char* tmp=new char[800]; tmp[0]=0; strcpy(tmp,setpath); strcat(tmp,"www.google.com"); //вариант2 char* setpath; char* setaddr; char setpath2[300]; setpath="http://"; setaddr="www.google.com"; sprintf (setpath2,"%s%s",setpath,setaddr); //вариант3 char setpath[300] = {0}; wsprintf(setpath, "http://%s", array[j]); // Строка будет вида http://+содержимое array[j]
Satell, всё пашет. Вот, например, проверь так: Code: #include <iostream.h> #include <string.h> int main() { char setpath[]="http://"; char* tmp=new char[800]; strcpy(tmp,setpath); strcat(tmp,"www.google.com"); cout << "tmp=" << tmp; delete tmp; return 0; }
Satell, как сказал бы один талантливый кодер на букву "Г", не подумайте плохого, я про Грейта... Так вот он бы сказал "Трассировка!!!"... И был бы прав! Я уверен что прога у тебя вылетает в другом месте, потому что все из приведённых способов рабочие... Прогони в дебагере и ты чётко увидешь на каком месте он сыплется...
А как отладчик использовать, он то что в вижл студио там на ассемблере показывает, код отдельно работает, а в моей проге вылетает, причем что интересно инструкции после кода точно выполняются, происходит вывод, если их закомментить, то все работает strcpy(tmp,setpath); strcat(tmp,"www.google.com");
ТС залей-ка скомпиленную прогу. Для дебага ставь бряк на ExitProcess и дальше смотри откуда произошел вызов...
вроде сделал, глючный какой-то этот vc++, вообще не понятно из-за чего вылетает программа, убрал просто один внешний цикл for(int i=0; i<1; i++) в котором ничего и не происходило и заработало имя компьютера тоже определяется только со второго раза почему-то, при первом вызове всегда hui будет Code: char buffer5[256]; DWORD size5; if (GetUserName(buffer5,&size5)!=0) { puts(buffer5); } else { puts("hui"); } как найти путь к папке с куками, такая штука не работает, т.к. не находит заголовочный файл shfolder.h, visual studio 5, windows xp #include <shfolder.h> TCHAR path[MAX_PATH_SIZE]; SHGetSpecialFolderPath(0, path, CSIDL_COOKIES, FALSE); как использовать встроенный отладчик, если в ассемблерных кодах ничего не понятно?
можно ли сделать таймер в консольном приложении?? так не работает Code: int CALLBACK TimerProc(void) { MessageBox(NULL,"Timer","Timer",MB_OK); puts("timer"); return 0; } int timerID=SetTimer(NULL,0,1000,&TimerProc); while(1) { Sleep(10000); break; } KillTimer(0,timerID);