J'avais fait un programme qui crée un fichier avec le nom donné par un utilisateur.fgets fonction impression garbage à la fin
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
int main()
{
int g;
char file[15];
fgets(file,15,stdin);
g=open(file,O_CREAT | O_WRONLY,__S_IWRITE);
}
Mais il crée un fichier avec un nom de fichier avec un caractère de poubelle à la fin. Comment puis-je corriger cela?
est géré par exemple ici:
$ ./a.out
coolfile.txt
$ ls
a.out coolfile.txt? test.c
le même programme, mais juste en utilisant la fonction obtient donne le nom de fichier correct, mais je l'avais entendu dire que se ne devrait pas être utilisé.
Actuellement, il n'y a pas d'appel à une fonction d'écriture dans le code et s'il vous plaît nous montrer le contenu du fichier. En outre, vous devez toujours fermer vos descripteurs de fichier après en avoir ouvert un. 'Fgets()' conserve le '' n'n'admet pas le ' – PhilMasterG
'. Probable que le caractère est un problème pour les noms de fichiers imprimables – chux
@PhilippGrassl Le fichier est vide.J'avais utilisé la commande cat –