7
votes

Créer du char du char * qui inclut le caractère d'échappement

Considérez l'exemple suivant Char * Exemple: xxx pré>

Comment peut-on convertir en un seul caractère qui représente le nouveau caractère de ligne, comme: P>

char c = '\n';


3 commentaires

Char c = * s; fonctionne. Le '\ n' à l'intérieur de la chaîne n'est que de deux caractères sous forme source: après la compilation, il est un seul caractère; la même chose pour tout autre caractère d'échappement. La chaîne "fo \ 111 \ tar" , après compilation, a 7 caractères (le 6 visible dans le code source et un terminateur null).


@pmg - c'est une réponse, pas un commentaire le poster!


@PMG: Jonh a raison. poster


4 Réponses :


1
votes

Voulez-vous dire quelque chose comme ça? XXX


0 commentaires

3
votes

Déréférence IT:

char* s = "\n";
char c = *s;


0 commentaires

9
votes

char c = * s; fonctionne.

Le '\ n' à l'intérieur de la chaîne n'est que deux caractères sous forme source: après la compilation, il est un seul caractère; la même chose pour tout autre caractère d'échappement.

la chaîne "fo \ 111 \ goudron" , après compilation, contient 7 caractères (le 6 visible dans le code source ( 'F' , ' o ', ' \ 111 ', ' \ t ', ' a ' et ' r '< / code>) et un terminateur null).


0 commentaires

2
votes

Comme les autres ont dit, la nouvelle ligne n'est en réalité qu'un seul caractère en mémoire. Pour obtenir un seul caractère à partir d'un pointeur à corder, vous pouvez accéder à votre pointeur comme s'il s'agissait d'une matrice (en supposant, bien sûr, qu'il y a une mémoire allouée à la chaîne indiquée):

char* s = "\n";
char  c = s[0];


0 commentaires