Je fonction suivante:Comment imprimer une chaîne contenant des caractères spéciaux et lue à partir d'un fichier? Comment l'imprimer sans caractères spéciaux?
int Printf(const char *s, int length)
{
int i=0;
while(i < length)
{
printf("%c", s[i]);
i++;
}
}
Mais si je l'appelle avec une chaîne non terminée par NULL comme « Bonjour tout le monde \ n » que je lis à partir d'un fichier, il imprime Bonjour tout le monde \ n sans une nouvelle ligne, de sorte qu'il imprime \ n explicitement. Quel est le problème avec ma fonction?
Voulez-vous dire qu'il imprime vraiment "Hello World \ n", c'est-à-dire un backslash et n? Cela ne peut pas arriver, car \ n est remplacé par char (13) au moment de la compilation. – sashoalm
@satuon: Non, ça arrive, parce que je lis une telle chaîne depuis un fichier – psihodelia
Les chaînes de type Pascal ne sont-elles pas celles dont la longueur est spécifiée dans '[0]'? –