Bonjour à tous,
je calle, je dois recopier un fichier d'une certaine façon avec les appels systèmes read, write. J'ai besoin de savoir si le caractère lu est un retour chariot ("\n"). Ayant consulté les pages man des différentes fonctions (man 2 read, man 2 write et man strcmp) je me rends compte que c'est un problème de format:
Donc mon code est le suivant,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ssize_t read(int fd, void *buf, size_t count); int strcmp(const char *s1, const char *s2); ssize_t write(int fd, const void *buf, size_t count);
Ca compile, mais ça ne fonctionne pas et quand j'affiche le buffer à l'écran j'obtiens des caractères bizarres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void * buffer; while (read(f1,buffer,1) > 0){ //Evite l'erreur (-1) et 0 caractere if (strcmp((char *)buffer,"\n") == 0){ printf("retour chariot"); } }
Comment pourrais-je le faire fonctionner? j'ai essayer avec la comparaison simple (==) également.
Merci d'avance pour votre aide.
Partager