Comment créer un fichier à l'intérieur d'un répertoire à l'aide de C
Je suis en train de créer un répertoire et un fichier dans le répertoire. Ci-dessous mon code en C, mais lorsque j'essaie de compiler, j'ai eu cette erreur: invalid operands to binary /(have ‘const char *’ and ‘char *’)
char *directory = "my_dir";
struct stat dir = {0};
if(stat(directory, &dir) == -1)
{
mkdir(directory, 0755);
printf("created directory testdir successfully! \n");
}
int filedescriptor = open(directory/"my_log.txt", O_RDWR | O_APPEND | O_CREAT);
if (filedescriptor < 0)
{
perror("Error creating my_log file\n");
exit(-1);
}
merci pour l'aide
votre / est mal placé ouvrir(dans le répertoire"/my_log.txt", O_RDWR | O_APPEND | O_CREAT);
tu veux dire comme ceci:int filedescriptor = open(répertoire"/my_log.txt", O_RDWR | O_APPEND | O_CREAT);
tu veux dire comme ceci:int filedescriptor = open(répertoire"/my_log.txt", O_RDWR | O_APPEND | O_CREAT);
OriginalL'auteur TonyGW | 2014-04-08
Vous devez vous connecter pour publier un commentaire.
utiliser sprintf() ou similaire pour créer le pathFilename chaîne:
puis
Note: Si vous utilisez linux, changer
\\
à/
et MAX_PATHNAME_LEN à 260 (ou ce que linux aime l'utilisation de cette valeur.)MODIFIER si vous avez besoin de vérifier que le répertoire existe avant la création d'un fichier de là, vous pouvez faire quelque chose comme ceci:
Lire la suite ici: stat, mkdir
Êtes-vous de vérifier pour le répertoire d'exister avant la création d'un fichier? Voir mon edit pour la réponse, pour ce que je veux dire.
Merci beaucoup ryyker! Il fonctionne pour moi 🙂
OriginalL'auteur ryyker
vous devriez faire quelque chose comme:
puis utilisez chemin d'accès dans la fonction open
OriginalL'auteur Alexis