Diriger la sortie d'une commande CMD vers un fichier

Résolu/Fermé
lebusher Messages postés 24 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 24 janvier 2017 - 8 juil. 2016 à 19:28
lebusher Messages postés 24 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 24 janvier 2017 - 9 juil. 2016 à 14:52
Bonsoir a tous.
voila, j' ai ecris le code suivant..

#include <SFML/Graphics.hpp>
#include <SFML/Network.hpp>
#include <iostream>
#include <cstdlib>
#include <string>
#include <string.h>
#include <stdio.h>
#include <fstream>
#include <sstream>

int main()
{


std::ofstream file("result.txt",std::ios::out);
std::string command;
std::getline(std::cin, command);
command+= " >result.txt";
std::cout<< command.c_str() << std::endl;
system(command.c_str());
file.close();
return 0;
}



censé exécuter dans le cmd la commande entree et rediriger la sortie vers un fichier result.txt.
mais une fois la commande lancée, on me dis "le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus".
Je ne comprend pas ce qui cloche, si vous pouviez m'aider... merci d'avance.
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
8 juil. 2016 à 20:54
Bonjour,

Un fichier ne peut être ouvert en écriture que par un seul programme à la fois. Donc si un autre l'a déjà bloqué tu ne peux plus écrire dessus.

Regardes par exemple des programmes comme Unlocker pour identifier les programmes qui ont la main dessus et éventuellement les forcer à libérer la ressource.
0
lebusher Messages postés 24 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 24 janvier 2017 17
9 juil. 2016 à 14:52
oui sauf qu'aucun autre programme ne l'utilise, je le cree meme sur place d'ailleur
0
pkpkmépkpk Messages postés 341 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 14 janvier 2018 52
8 juil. 2016 à 21:32
Bonsoir,
std::ofstream file("result.txt",std::ios::out);
std::string command;
std::getline(std::cin, command);
command+= " >result.txt";
std::cout<< command.c_str() << std::endl;
system(command.c_str());
file.close();
C'est ton objet file qui bloque le fichier result.txt...
0
lebusher Messages postés 24 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 24 janvier 2017 17
Modifié par lebusher le 9/07/2016 à 14:57
OK BIENSUR!!!!!!! Vraiment merci beaucoup.
0