Fichier résultat inexistant
Fermé
Pierre
-
Modifié le 17 janv. 2022 à 12:49
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 17 janv. 2022 à 13:05
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 17 janv. 2022 à 13:05
A voir également:
- Fichier résultat inexistant
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier host - Guide
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
17 janv. 2022 à 13:05
17 janv. 2022 à 13:05
Bonjour,
Merci d'utiliser les balises de code (4e bouton au dessus de la boîte dans laquelle tu tapes tes messages) et de ne pas utiliser d'abréviations.
Ton code fonctionne chez moi, mais il y a plusieurs choses qui ne vont pas :
Voici à quoi ça devrait plutôt ressembler en C :
Ensuite tu as posté dans le forum C++, mais le programme que tu proposes est plutôt du C. Si tu t'autorises le C++, tu peux utiliser
Bonne chance
Merci d'utiliser les balises de code (4e bouton au dessus de la boîte dans laquelle tu tapes tes messages) et de ne pas utiliser d'abréviations.
Ton code fonctionne chez moi, mais il y a plusieurs choses qui ne vont pas :
- tu ne contrôle pas si ton
fopen
a marché (en particulier, si ton exécutable est lancé depuis un répertoire dans lequel tu n'as pas les droits en écriture, ça ne peut pas marcher) ; - tu ne dois jamais utiliser
gets
, comme stipulé dans la documentation. Utiliser par exemplescanf
à la place, ou mieux, ce qui est suggéré dans cette discussion.
Voici à quoi ça devrait plutôt ressembler en C :
#include <stdio.h> int main(){ unsigned int n; char name[100]; const char * filename = "myfile.txt"; FILE * fp = fopen(filename, "w"); if (fp) { for (n = 0; n < 3 ; n++) { printf("please, enter a name: "); scanf("%s", name); fprintf(fp, "Name %d [%-10.10s]\n", n + 1, name); } fclose(fp); } else { fprintf(stderr, "Can't open %s", filename); return 1; } return 0; }
Ensuite tu as posté dans le forum C++, mais le programme que tu proposes est plutôt du C. Si tu t'autorises le C++, tu peux utiliser
std::ofstream,
std::cin,
std::cerret
std::stringce qui simplifiera le code. Si j'omets le formatage, voici à quoi ça ressemble :
#include <iostream> #include <fstream> #include <string> int main(){ using namespace std; const char * filename = "myfile.txt"; ofstream ofs(filename); string name; if (ofs) { for (unsigned n = 0; n < 3; n++) { cout << "please, enter a name: "; cin >> name; ofs << "Name " << n + 1 << " [" << name << "]" << endl; } } else { cerr << "Can't open " << filename << endl; return 1; } return 0; }
Bonne chance