2010-03-29 22 views
2

comment convertir char en LPCTSTR ++ vcchar LPCTSTR


J'utilise MVC.

QByteArray qBary; 
qBary.append(temp); 
char toChar[512]; 
for(int ii = 0; ii < 512; ii++) 
{ 
    toChar[ii] = qBary[ii]; 
    if(qBary[ii] == '\0') 
    { 
     break; 
    } 
} 
SHFILEOPSTRUCT sf; 
memset(&sf, 0, sizeof(sf)); 
sf.hwnd = 0; 
sf.wFunc = FO_COPY; 
sf.pFrom = toChar; // error occurring here 

Répondre

5

si vous utilisez MFC (est votre étiquette censé être MFC au lieu de MVC?):

char name[] = "your name"; 
CString sName(name); 
LPCTSTR lpszName = sName; 

si vous utilisez Qt, jetez un oeil à QString et QByteArray

// (1) 
QString filename; 
LPCWSTR lpszFilename = filename.utf16(); // alternatively, .unicode() 
// alternatively, (2) 
QByteArray qBA("abcdef.txt"); 
QString qString(qBA); 
LPCWSTR lpszFileName = qString.utf16(); // or, .unicode() , .utf8() 

... 
sf.pFrom = lpszFileName; 
+0

vous devez mettre votre bloc de code dans la question précédée d'une nouvelle ligne et préfixez-les avec 4 espaces pour chaque ligne de codes. cliquez sur "modifier" quelque part près de votre question. –

+0

il semble que vous utilisez Qt, s'il vous plaît ajouter cela à l'étiquette. –

+0

J'utilise MVC. QByteArray qBary; qBary.append (temp); char toChar [512]; pour (int ii = 0; ii <512; ii ++) { àChar [ii] = qBary [ii]; if (qBary [ii] == '\ 0') {break; }} SHFILEOPSTRUCT sf; Memset (& sf, 0, taille de (sf)) ; sf.hwnd = 0; sf.wFunc = FO_COPY; sf.pFrom = toChar; // erreur survenue ici – Sijith