Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation (C/C++, Delphi, VB, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=64)
-   -   Nouveau Probleme (http://www.ndfr.net/forums/showthread.php?t=4020)

celineee 23-04-2004 16:53

Nouveau Probleme
 
:(
Voila j'ai une chaine de caractère dans un fichier avec un retour chariot
et je ne veux pas recuperer ce retour chariot quand je fait mon fgets
alors j'ai essayer de reduire d'un caractère avec la ligne
strncpy(Fil->NomFilm,Fil->NomFilm,(strlen(Fil->NomFilm)-1));
mais ca ne marche pas il me garde le retour chariot
ca fait 2 heures que je galere dessus helppppppppppppppppppp :(

Benjy 23-04-2004 17:09

Re: Nouveau Probleme
 
Dans mon souvenir un retour chariot est composé de deux caractères : chr(10) et chr(13)...

celineee 23-04-2004 17:12

Re: Nouveau Probleme
 
c'est bonnnnnnnnn
a croire qu'il suffit de poster pour que tout devienne beau

on m'a donné une procedure qui m'a permis de resoudre le probleme je vous l'affiche au cas ou ca interesserait qq

void chomp(char* src)
{
char* temp;
int taille;
// on copie la chaine de départ dans temp
taille = strlen(src);
temp = (char*)malloc(sizeof(char)*(taille+1));
strcpy(temp,src);
// puis on utilise temp pour récrire dans src, moins un caractère
strncpy(src,temp,taille-1);
// et on rajoute le caractère de fin de chaine
src[taille-1]='\0';
}

celineee 23-04-2004 17:32

Re: Nouveau Probleme
 
un retour chariot est en faite \n mais le c considere \n comme un seul charactère comme pour un \0

1for-matik 23-04-2004 18:12

Re: Nouveau Probleme
 
Quote:

Originally Posted by celineee
un retour chariot est en faite \n mais le c considere \n comme un seul charactère comme pour un \0

Céline! Nous serions heureux que tu devienne une habituée de NDFR car les bons en programmation (surtout C++) manque gravement! :)
Et puis une "habituée" ça se voit rarement ici! ;)

Fred 23-04-2004 18:54

Re: Nouveau Probleme
 
1for-matik au taquet :D
Bienvenue Celine ;)

celineee 23-04-2004 19:15

Re: Nouveau Probleme
 
je veux bien passer de temps en temps mais je suis pas très très bonne c'est pour ca que je demande de l'aide toutes les 30 secondes :p
mais si je peux aider y a pas de probleme

Samva 24-04-2004 19:10

Re: Nouveau Probleme
 
Quote:

Originally Posted by celineee
c'est bonnnnnnnnn
a croire qu'il suffit de poster pour que tout devienne beau

on m'a donné une procedure qui m'a permis de resoudre le probleme je vous l'affiche au cas ou ca interesserait qq

void chomp(char* src)
{
char* temp;
int taille;
// on copie la chaine de départ dans temp
taille = strlen(src);
temp = (char*)malloc(sizeof(char)*(taille+1));
strcpy(temp,src);
// puis on utilise temp pour récrire dans src, moins un caractère
strncpy(src,temp,taille-1);
// et on rajoute le caractère de fin de chaine
src[taille-1]='\0';
}

Pour info, le '\n' et le '\0' comme tous les autres caractères ne sont qu'un seul... j'explicite, la présence du slash est ici pour faire comprendre qu'il s'agit d'un caractère spécial.... car comme tout le monde doit commencer a le savoir le slash est le caractère "d'échappement" en C (et ses dérivés) c'est aussi simple que ca... donc le C considère le \0 comme le caractère de code ASCII 0 voilà tout :)

$c@r 02-07-2004 14:00

Re: Nouveau Probleme
 
Ca voudrait dire que si on met \qqch ca marche aussi ?

Samva 02-07-2004 23:01

Re: Nouveau Probleme
 
Il y a une liste très réduite de ces caractères spéciaux genre pour le C++ standard, ca doit donner, en gros ;) :
\n saut de ligne
\t tabulation
\r retour chariot
\b backspace
\a beep
\" guillemet
\\ backslash

Il y en a d'autre relatif à l'impression (\f ou \v)


All times are GMT +2. The time now is 06:51.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.