-2
J'essaie de créer un fichier avec du texte qui doit aller dans un dossier spécifique. Cependant, il est créé mais dans le même dossier que l'exe. Voici le code:C++ Ofstream ne crée pas de fichier à un emplacement spécifique
const char* name;
char path[200];
int main()
{
cin.getline(path, 230,'\n');
DIR *dir;
name = path;
struct dirent *ent;
if ((dir = opendir(name)) != NULL)
{
while ((ent = readdir(dir)) != NULL)
{
ofstream file(path, ios::out | ios::trunc);
file.open("somename");
file << ent->d_name + " something";
file.close();
}
closedir(dir);
}
else
{
perror("");
}
}
Qu'est-ce qui ne va pas?
'file.open ("un nom")' va créer le fichier dans le répertoire de travail courant, sans chemin spécifique donnée FIE. – user0042
S'il vous plaît, pensez à ajouter le resp. inclut au début de votre source. Les inclusions nécessaires pour les fonctions de bibliothèque sont généralement mentionnées sur la page de manuel de la fonction elle-même. (Ils sont manquants dans votre [MCVE] (http://stackoverflow.com/help/mcve), espérons pas dans votre "vrai" programme.) – Scheff
Si vous voulez enregistrer un fichier dans un répertoire spécifique, fournissez le resp . chemin d'accès relatif ou absolu (avec des répertoires) ou modifiez le répertoire en cours avant. Vous pouvez le faire dans votre programme en utilisant ['chdir()'] (http://man7.org/linux/man-pages/man2/chdir.2.html). – Scheff