Je suis en train de placer des pointeurs ici pour pointer sur un nom et un point pour le nommer de nouveau mais obtenir le point lent. Comment se fait-il que lorsque j'utilise cout << strlen(tail);
, il ne cesse de me dire que la longueur est de 3? Même si j'entre quelque chose qui est 12?Pointeurs et longueur de chaîne
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
char name[0];
cout << "Please enter your name: ";
cin.getline(name, 256);
cout << "Your name: " << name << endl;
char* head = name;
cout << head[6] << endl;
char* tail = name;
cout << strlen(tail);
return 0;
}
tip: en général, vous devriez utiliser 'string' au lieu de' char * 'dans C++. – amit
+1 pour une question clairement formatée. –
Oui, débordement de tampon! – nobsid