Если у меня есть
Код:
Сstring fromm="C:\\SOURCE.TXT" и
Сstring too="C:\\DEST.TXT" (строки для хранения пути к файлу)
Код копирования файла в Винде (код взят из интернета и работоспособен (проверено мной)):
Код:
char *From = "C:\\SOURCE.TXT\0";
char *To = "C:\\DEST.TXT\0";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.wFunc = FO_COPY;
op.pFrom = From;
op.pTo = To;
op.fFlags= 0;
SHFileOperation( &op);
Вопрос:
Сstring fromm="C:\\SOURCE.TXT" и
Сstring too="C:\\DEST.TXT"
char *From = "C:\\SOURCE.TXT\0";
char *To = "C:\\DEST.TXT\0";
Значения стринговских и чаровских фром и ту, как мы видим, одинаковы (за исключением \0)
1) Что значит эта запись:
Код:
char *From = "C:\\SOURCE.TXT\0";
Я так понимаю - это чаровский массив. Смущает * (указатель) при обьявлении\определении.
2) "\0" - это один символ, или 2? И нужно ли его добавлять\прописывать в чаровском массиве, если он там по идее должен появтся сам?
3)Каким образом связать стринговскую строку и чаровский массив? После посимвольной перезаписи с помощью кода :
Код:
int ss=fromm.GetLength();
char *From;
From=new char[ss];
char vrem;
for(int yy=0; yy<ss; yy++)
{
vrem=fromm.GetAt(yy);
*(From+yy)=vrem;
}
// *(From+yy+1)='\0';
ss=too.GetLength();
char *To;
To=new char[ss];
for(yy=0; yy<ss; yy++)
{
vrem=too.GetAt(yy);
*(To+yy)=vrem;
}
// *(To+yy+1)='\0';
выдаётся ошибка при попытке скопировать : типо указанного адресса не существует или что-то в этом роде.
