2009-10-02 8 views
0

comment copier textbox-> contenu du texte dans un tableau de caractères? Je travaille dans vC++.Visual C++ contenu zone de texte copie

+2

Pourriez-vous être un peu plus précis, quel est le type de texte par exemple? Sinon, nous ne serons pas en mesure de résoudre votre problème. D'ailleurs, si vous utilisez C++, pourquoi voudriez-vous jouer avec les tableaux char: préférez std :: string! – jdehaan

+0

Si vous êtes vraiment un nouvel utilisateur, je suis désolé, mais je ne peux pas empêcher de remarquer une certaine ressemblance avec ces questions: http://stackoverflow.com/questions/1504905/0visual-c-declaration-of-string-type, http://stackoverflow.com/questions/1505026, http://stackoverflow.com/questions/1499815/, http://stackoverflow.com/questions/1499603/, http://stackoverflow.com/questions/1504905/ Si c'est vous, vous obtiendrez de bien meilleures réponses en ** améliorant la question **, plutôt que de demander la même chose sous un nom d'utilisateur différent. – jalf

+0

Aucune de ces questions n'a fourni suffisamment d'informations pour une réponse correcte, et cette dernière non plus. Si vous voulez une réponse, dites-nous ce que nous devons savoir, au lieu de répéter indéfiniment votre question. – jalf

Répondre

1

utilisation CWnd :: GetWindowText()

CString str; 
CWnd* pWnd = GetDlgItem(IDC_WHATEVER); 
pWnd->GetWindowText(str); 

met le contenu du contrôle dans le CString ou vous pouvez utiliser la version tableau:

TCHAR sz[10]; 
int nRet = pWnd->GetWindowText(sz, 10); 
0

Votre requête ne sait pas, donc je Je dois assumer des choses.

En supposant que vous utilisez MFC, ajoutez une variable de type de commande à votre boîte d'édition (dire m_edit), et utiliser m_Edit.GetWindowText() pour obtenir le texte.

Ou si vous utilisez Win32 ordinaire, utilisez le GetWindowText() API Win32.

Sur une note supplémentaire, comme un autre utilisateur a fait remarquer, cesser d'utiliser des choses comme des tableaux de caractères de taille fixe pour stocker des chaînes si vous utilisez C++. Utilisez quelque chose comme std :: string ou utilisez CString si vous utilisez MFC. En faisant cela, vous pouvez manipuler les chaînes très facilement et votre code sera moins sujette aux erreurs.

Cheers, Rajesh. MVP, Visual C++

0

Vous pouvez également essayer comme ça .....

CString csTbxName; 
GetDlgItemText(IDC_EDIT1,csTbxName); 
const char* pchTbxName = csTbxName.GetBuffer(); 
char chTbxNameDup[5000]; 
ZeroMemory(chTbxNameDup,5000); 
if(csTbxName.GetLength() < 5000) 
{ 
    memcpy(chTbxNameDup,(void*)pchTbxName,csTbxName.GetLength()); 
} 
Questions connexes