Je vais avoir quelques problèmes en utilisant memcpy en ce que lorsque l'opération est effectuée memcpy je reçois:memcpy caractères de départ supplémentaires
« ÍÍWF03-021913.datýýýý« «« «« «« «e »
quand je devrais obtenir:
« WF03-021913.datýýýý« «« «« «« «e »
Je ne sais pas où ces principaux « IĮ » viennent.
code:
Note: lpszFileName = "WF03-021913.dat"
typedef struct {
BYTE cbRequestType;
BYTE cbFileName;
char* szFileName;
} UFTP_GET_FILE_INFO_REQUEST;
BOOL Uftp_BuildFileInfoRequest(PUFTP_REQUEST request, LPCTSTR lpszFileName)
{
UFTP_GET_FILE_INFO_REQUEST *fileInfo;
int fileNameLen;
if (lpszFileName == NULL) {
ASSERT(0);
return FALSE;
}
fileNameLen = strlen(lpszFileName);
if (fileNameLen == 0)
return FALSE;
request->dwRequestSize = sizeof(UFTP_GET_FILE_INFO_REQUEST) -
sizeof(void*) + fileNameLen;
request->RequestBuffer = malloc(request->dwRequestSize);
if (!request->RequestBuffer) {
TRACE0("Failed to allocate RequestBuffer");
return FALSE;
}
fileInfo = (UFTP_GET_FILE_INFO_REQUEST*) request->RequestBuffer;
fileInfo->cbRequestType = UFTP_GET_FILE_INFO;
fileInfo->cbFileName = fileNameLen;
memcpy(&fileInfo->szFileName, lpszFileName, fileNameLen);
return TRUE;
}
Avez-vous essayé 'memcpy (& (nomFichier-> szFichierFichier), lpszFichierNom, nomFichierLen):' Je ne suis pas sûr de l'ordre de l'opérateur. – rekire
Pouvez-vous nous montrer 'UFTP_GET_FILE_INFO_REQUEST'? – NPE
Pourquoi utilisez-vous 'memcpy' au lieu de' strcpy'? –