Probleme c++ Re-ecrire le fichier exe

Fermé
camorani Messages postés 29 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 23 mars 2009 - 15 juil. 2007 à 02:44
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 16 juil. 2007 à 00:13
salut
à signaler au debut :je suis (debutant)²
j essaie a apprendre du c++..et comme tout le monde avec le fameux code "HelloWorld"
ça marche nickel
mais des que je touche au programme (ajouter system("pause");) je recois le message d erreur
Permission denied
id returned 1 exit status


je peux meme pas effacer le fichier exe depuis windows explorer
en redemarrant le pc ca marche et le nouveau code est accepte
j ai cherché sur google et il semble que ca a une relation avec les droits d'acces (qqchose comme ça)
si c est le cas que faire pour les regles
ou si vous avez d autres idees n hesitez pas

Merci d'avance
A voir également:

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
16 juil. 2007 à 00:13
Normalement tu es sensé :
1) Ecrire un fichier de source c++, par exemple test.cpp. il suffit pour celà d'un simple éditeur texte mais en général c'est peu pratique, donc utilise un éditeur amélioré (par exemple gvim l'éditeur texte d'un environnement de développement come dev-cpp) :
http://www.bloodshed.net/

2) Compiler ce programme pour générer un exécutable, par exemple test.exe. Si tu installé dev-cpp tu peux compiler aisément ton fichier de source. Le compilateur utilisé s'appelle en fait gcc (ou g++), et c'est d'ailleurs ce compilateur qui est utilisé sous linux. Il t'incitera donc à programmer relativement proprement ce qui est plutôt une bonne chose.

3) Exécuter ton programme. Souvent une console est intégrée dans l'environnement de développement permettant en particulier de voir le "hello world".

Typiquement dans ton cas le hello world s'écrit ;
#include <iostream> // ce header permet d'écrire sur une console

int main(){
  std::cout << "hello world" << std::endl; // écrire hello world, revenir à la ligne
  std::cout << "press any key" << std::endl;
  getchar(); // faire une pause
  return 0;
}

std::cout = la sortie standard, concrètement la console dans laquelle tu écris.
std::endl = retour à la ligne
<< = écrire
getchar() = lire un caractère sur l'entrée standard (std::cin). En pratique c'est comme ça qu'on fait une pause de manière propre. Il faut éviter le plus possible les appels à une fonction système comme tu veux faire car sinon ton programme est dépendant du système d'exploitation (typiquement, systeme("pause") n'a pas de sens sous linux.
Puisqu'on parle de linux voilà ce que donne le programme que je t'ai donné :
(mando@aldur) (~) $ g++ -W -Wall -o plop.exe plop.cpp
(mando@aldur) (~) $ ./plop.exe
hello world
press any key

(mando@aldur) (~) $

Bonne chance
0