J'essaie d'écrire un caractère [256] dans un fichier texte. Ci-dessous est mon travail actuel:Essayez d'écrire char [] dans un fichier texte
fstream ofs;
ofs.open("c:\\myURL.txt");
ofs.write((char*)testDest,256);
ofs.close();
Cela ne fonctionne toujours pas.
ici est l'erreur:
erreur C2440: 'type cast': ne peut pas convertir '' à 'char *'
mise à jour:
jusqu'à présent, voici ma tentative de progrès, le code peut compiler, mais en cours d'exécution, mon programme s'est soudainement arrêté.
ofstream stream;
CBar *a;
switch(uMessage) {
case WM_PAINT:
return bar->OnPaint();
case WM_ERASEBKGND:
return 1;
case WM_LBUTTONDOWN: //wira
if (!bar->OnClick(wParam, lParam)) {
stream.open("C:\\myURL.txt");
stream << a->testDest << endl; // if I replace `a->testDest` with "testword" string, my prgrom does not terminated. Why?
return 0;
}
break;
Qu'est-ce avec "fonctions d'écriture maladroit"? – anno
Eh bien, il y a le besoin de la distribution '(char *)', et la spécification superflue de la longueur (c'est un tableau C++, la longueur est fixe). – rubenvb
L'échec des opérations de flux ne doit pas entraîner l'arrêt du programme (à moins que vous n'ayez explicitement appelé 'ios :: exceptions()' pour demander que certaines erreurs soient signalées comme des exceptions). Je suppose qu'un mauvais accès à la mémoire est impliqué quelque part. –