Erreur ouverture fichier
Sormick
Messages postés
146
Date d'inscription
Statut
Membre
Dernière intervention
-
Sormick Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
Sormick Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un tout nouveau débutant en C++
j'utilise visual studio community 2015
Je viens d'apprendre à ouvrir un fichier TXT avec ce code:
Je ne comprends pas car il me fait une erreur de compilation (LNK2019)
Pouvez vous me dire ce qui ne va pas dans mon code?
Je suis un tout nouveau débutant en C++
j'utilise visual studio community 2015
Je viens d'apprendre à ouvrir un fichier TXT avec ce code:
#include <stdio.h> #include <stdlib.h> FILE* fopen_s(const char* nomDuFichier, const char* modeOuverture); int main(int argc, char *argv[]) { FILE* fichier = NULL; fichier = fopen_s("C:\\Users\\sormick2\\Desktop\\test.txt", "r+"); if (fichier != NULL) { // On peut lire et écrire dans le fichier } else { // On affiche un message d'erreur si on veut printf("Impossible d'ouvrir le fichier test.txt"); } return 0; }
Je ne comprends pas car il me fait une erreur de compilation (LNK2019)
Pouvez vous me dire ce qui ne va pas dans mon code?
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Erreur ouverture fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
Bonjour,
ton code c'est 100% du C, pas du C++. Si tu essaies de la compiler en C++, attends-toi à des problèmes.
Tu indiques une erreur de compilation avec un nom LNK qui fait plutôt penser à une erreur au moment de l'édition des liens. Il faudrait l'erreur complète donnée par le linkeur.
Quand on ajoute un prototype de fonction, on indique au compilateur que cette fonction existe et que l'on s'engage à la fournir au link, l'as-tu fait?
En réalité, la fonction C fopen_s() s'utilise de la manière suivante :
ton code c'est 100% du C, pas du C++. Si tu essaies de la compiler en C++, attends-toi à des problèmes.
Tu indiques une erreur de compilation avec un nom LNK qui fait plutôt penser à une erreur au moment de l'édition des liens. Il faudrait l'erreur complète donnée par le linkeur.
Quand on ajoute un prototype de fonction, on indique au compilateur que cette fonction existe et que l'on s'engage à la fournir au link, l'as-tu fait?
En réalité, la fonction C fopen_s() s'utilise de la manière suivante :
if ( fopen_s( &fichier , "C:\\Users\\sormick2\\Desktop\\test.txt", "r+") != 0 ) return -1;
Merci beaucoup pour toutes ces infos!!
ok je ferias attention pour rajouter des balises à l'avenir.
maintenant je comprends mieux pourquoi je ne peux pas ouvrir le fichier car ce sont des codes en C et pas C++.
Par contre l'erreur LNK je n'y comprends rien. Quand je dis que je suis débutant c'est que c'est du bas niveau :).
Je suppose que l'erreur complète c'est ça non?
https://docs.microsoft.com/en-us/previous-versions/799kze2z(v=vs.140)?redirectedfrom=MSDN
ok je ferias attention pour rajouter des balises à l'avenir.
maintenant je comprends mieux pourquoi je ne peux pas ouvrir le fichier car ce sont des codes en C et pas C++.
Par contre l'erreur LNK je n'y comprends rien. Quand je dis que je suis débutant c'est que c'est du bas niveau :).
Je suppose que l'erreur complète c'est ça non?
https://docs.microsoft.com/en-us/previous-versions/799kze2z(v=vs.140)?redirectedfrom=MSDN
Non,
Ca c'est un lien vers Microsoft, l'erreur est juste à côté!
En C++, on écrit plutôt
Ca c'est un lien vers Microsoft, l'erreur est juste à côté!
En C++, on écrit plutôt
#include <iostream> // pout std::cout #include <fstream> // pour std::fstream int main( int argc , char *argv[] ) { std::fstream fichier( "C:\\Users\\sormick2\\Desktop\\test.txt", std::ios_base::in | std::ios_base::out ); if ( fichier ) { // On peut lire et écrire dans le fichier } else { // On affiche un message d'erreur si on veut std::cout << "Impossible d'ouvrir le fichier test.txt" << std::endl; } return 0; }
En attendant j'ai modifié mon code comme ceci mais toujours pas de fichier ouvert.
c'est peut être le If qui gène mais je n'en suis pas sûr