Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Неправльно использую strcat() ?? o_O


Автор: InfMag 19.9.2008, 13:12
Вот включения:
Код

#include <stdlib.h>
#include <string.h>

И вот код:
Код

char full[_MAX_PATH];
_fullpath(full, NULL, _MAX_PATH);
char* fullAddr;
fullAddr = strcat(fullAddr, "file:\\\\");
fullAddr = strcat(fullAddr, full);
fullAddr = strcat(fullAddr, "\\start.html");
button1->Text = String(fullAddr).ToString();

В общем копилится все, а вот при работе программы вылетает ошибка и все. Если убрать эти 3-и строчки с strcat() то ничего не ругается. Что я делаю неправильно?

Автор: mouse 19.9.2008, 13:35
Необходимо зарезервировать под переменную место, и сперва использовать strcpy, например:
Код

    char full[_MAX_PATH];
    _fullpath(full, NULL, _MAX_PATH);
    char* fullAddr = (char*) malloc(_MAX_PATH*sizeof(char));
    fullAddr = strcpy(fullAddr, "file:\\\\");
    fullAddr = strcat(fullAddr, full);
    fullAddr = strcat(fullAddr, "\\start.html");
    ...
    free(fullAddr);

Автор: InfMag 19.9.2008, 13:50
mouse, великое спасибо! smile Вопрос решен! +1

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