O
okwell5
Написал функцию формирования пути к файлу. Путь формируется по следующему принципу:
путь+имя_файла+расширение_файла
путь, имя файла, расширение - это динамические массивы. Путь содержится в глобальном массиве var_path. Вот код функции:
Цикл for(int l=0; l<strlen(var_path); l++) отрабатывает нормально(путь копируется), но вот во втором и третьем циклах почему-то присваивание не происходит. Точнее происходит, но вставляются не те знаки, т.е. :
lpfile="C:\\test\\HHHHH.HHH" - вот такой результат. Из результата видно, что точка вставляется нормально, а вот имя и расширение - не знаю почему такие.
Дебаггер не помог.
Может кто встречался уже с этим или знает, в чем дело? Или помогите найти другое решение.
путь+имя_файла+расширение_файла
путь, имя файла, расширение - это динамические массивы. Путь содержится в глобальном массиве var_path. Вот код функции:
C++:
void pathfile( char *name, char *ext)
{
char *lname, *lext;
lname=new char[256];
lext=new char[256];
strcpy(lname,name);
strcpy(lext, ext);
char *lpfile;
lpfile= new char[256];
for(int l=0; l<strlen(var_path); l++)
lpfile[l]=var_path[l];
//strcpy(lpfile, var_path);
for(int i=strlen(var_path); i<(strlen(var_path)+strlen(name)); i++)
lpfile[i]=lname[i];
lpfile[strlen(var_path)+strlen(name)]='.';
for(int j=strlen(var_path)+strlen(name)+1; j<(strlen(var_path)+strlen(name)+1+strlen(ext)); j++)
lpfile[j]=lext[j];
lpfile[strlen(var_path)+strlen(name)+1+strlen(ext)]='\0';
strcpy(pfile, lpfile);
delete[] lpfile;
delete[] lname;
delete[] lext;
}
lpfile="C:\\test\\HHHHH.HHH" - вот такой результат. Из результата видно, что точка вставляется нормально, а вот имя и расширение - не знаю почему такие.
Дебаггер не помог.
Может кто встречался уже с этим или знает, в чем дело? Или помогите найти другое решение.