Православный взгляд на ИТ

Как работать со строками?
StanB., Orthodox - 15:36 06.04.2003
После ПЕРЛа не могу вспомнить, как со строками работать. Вот пишу:

LPTSTR WINDIR;
char *path1;

strcat(path1,WINDIR);
strcat(path1,"/Gold_reflection.tga");

И не рабоает. Что делать?

                


Re: Как работать со строками?
Игорь П, православный - 01:23 27.05.2003
Немного не по теме. Вместо strcpy, strcat и под. стоит использовать strNcat, strNcpy и т.д. Для безопасности.

                


Re: Как работать со строками?
Братец Дыкъ, православный обнагленец из OCA - 17:44 06.04.2003
StanB., Вы писали:
> После ПЕРЛа не могу вспомнить, как со строками работать. Вот пишу:
>
> LPTSTR WINDIR;
> char *path1;
>
> strcat(path1,WINDIR);
> strcat(path1,"/Gold_reflection.tga");
>
> И не рабоает. Что делать?

Память под строки аллоцировать. :)

                


Re: Как работать со строками?
StanB., Orthodox - 21:08 06.04.2003
Не врублюсь никак:
char *path1=(char*)malloc(MAX_PATH);
strcpy(path1,WINDIR);

как-то иначе надо? если можно, конкретный код - после PERL голова не варит. :)

                


Re: Как работать со строками?
Братец Дыкъ, православный обнагленец из OCA - 06:30 07.04.2003
StanB., Вы писали:
> Не врублюсь никак:
> char *path1=(char*)malloc(MAX_PATH);
> strcpy(path1,WINDIR);
>
> как-то иначе надо? если можно, конкретный код - после PERL голова не варит. :)

Это место выглядит нормально, при условии, что под WINDIR память выделена и сам WINDIR заканчивается '\0'.

Что я тут могу сказать.
Певрое, попробуй пройти это место под отладчиком, если ты еще этого не сделал.
Если это не поможет, постарайся написать максимально короткую программу, которая будет содержать эту проблему. На сколько я понял она будет содержать вызов системной фунции, которая вернет путь к виндоус директрии, и прибавляет к нему некоторую строку.
Если проблема останется в ней пришли мне файл целиком, я посмотрю в чем дело.