System(); qui fonctionnne pas
Résolu
jojol_8144
Messages postés
132
Date d'inscription
Statut
Membre
Dernière intervention
-
jojol_8144 Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
jojol_8144 Messages postés 132 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai le code suivant:
Mais j'obtiens les erreurs suivantes lors de la compilation:
Pourriez-vous m'aider à résoudre ce soucis svp ?
Je code sous Code::Block
J'ai le code suivant:
system("for /f "delims=" %%a in ('dir . /b/s ^| findstr /R "\\repertoire" ') do set "path=%%~dpnxa""); system("echo Le chemin est : %path%");
Mais j'obtiens les erreurs suivantes lors de la compilation:
||=== Build: Debug in setup (compiler: GNU GCC Compiler) ===| C:\Users\user\Documents\setup\main.cpp|7|error: stray '\' in program| C:\Users\user\Documents\setup\main.cpp|7|error: stray '\' in program| C:\Users\user\Documents\setup\main.cpp||In function 'int main()':| C:\Users\user\Documents\setup\main.cpp|7|error: unable to find string literal operator 'operator""delims' with 'const char [8]', 'unsigned int' arguments| ||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Pourriez-vous m'aider à résoudre ce soucis svp ?
Je code sous Code::Block
A voir également:
- System(); qui fonctionnne pas
- Reboot system now - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- System fan 90b - Forum Matériel & Système
- Missing operating system ✓ - Forum Windows
- Advanced system care - Télécharger - Optimisation
2 réponses
Bonjour,
Une chaîne de caractère ça commence et ça fini par des guillemets(").
A l'intérieur certains caractères ne sont pas accessibles, il faut les précéder d'un backslash(\). Il s'agit entre autres des caractères guillemets(") et backslash(\). Ça donne un truc du genre :
Une chaîne de caractère ça commence et ça fini par des guillemets(").
A l'intérieur certains caractères ne sont pas accessibles, il faut les précéder d'un backslash(\). Il s'agit entre autres des caractères guillemets(") et backslash(\). Ça donne un truc du genre :
system("for /f \"delims=\" %%a in ('dir . /b/s ^| findstr /R \"\\\\repertoire\" ') do set \"path=%%~dpnxa\"");
'lut,
en plus de ce que dit Dalfab, il faut savoir que l'utilisation que tu fais de
en plus de ce que dit Dalfab, il faut savoir que l'utilisation que tu fais de
system()ne marchera pas comme tu veux: chaque ligne
system()lance un interpréteur de commande indépendant, et la variable
pathque tu modifies dans la 1ère ligne ne sera pas visible dans la 2e car sa valeur ne remonte pas au processus parent, c-à-d ton programme, pour qu'elle soit conservée dans son état modifiée pour la 2nde commande. Si tu veux afficher sa valeur ça doit se faire dans un unique appel
system().
J'obtiens ceci en résultat au lieu du chemin de mon répertoire: