C++ creation d'un fichier texte a nom variable

sloaneaaaa Messages postés 1 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 10 janvier 2004 - 10 janv. 2004 à 12:51
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 10 janv. 2004 à 13:46
ben voila je voudrai creer un fichier texte auquel je puisse donner n'importe quel nom ms g des erreurs que je comprend pas
le nom de fichier est ds un tableau de char
voici mon source (il comporte des erreurs notement au niveau du passage de parametre)

#include<string>

#include
using namespace std;

#include<fstream>

#include<ctime>
#include

void InitFichEntiers(const char*, const int, const int);

int main()
{
char *nom_fichSTR[21];
int nbre_max;
int val_max;

cout << "entrer le nomdu fichier" << "\\n";
cin >> setw(20) >> *nom_fichSTR;
cout << "\\n" << "entrer le nombre de valeur" << "\\n";
cin >> nbre_max;
cout << "\\n" << "entrer la valeur max" << "\\n";
cin >> val_max;

InitFichEntiers(&nom_fichSTR[0], nbre_max, val_max);

return 0;

}//main

/* ------------------------- Crée un fichier composé de n entiers ----------------------------- */
/* Paramètres en entrée : un pointeur sur un tableau de caratère contenant le nom du fichier à créer,
n le nombre d'éléments et N la valeur maximale des éléments. */
void InitFichEntiers(char *nom_fich_str, int n, int N)
{

/* il accepte pas ma chaine */
ofstream fich_ecr(nom_fich_str,ios::out);
int i;

srand((unsigned)time(NULL));

fich_ecr << n << "\\n";

i=1;
while(i <= n)
{
fich_ecr << rand() % N << "\\n";
i++;
}

fich_ecr.close();
}//InitFichEntiers

1 réponse

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
10 janv. 2004 à 13:46
salut,

fait attention, char *nom_fichSTR[21]; tu declare un pointeur sur tableau de char ce qui fait que *nom_fichSTR ne signifie rien car tu n'a rien allouer

int main()
{
char nom_fichSTR[21];
...
cin >> setw(20) >> nom_fichSTR;
...
InitFichEntiers(nom_fichSTR, nbre_max, val_max);
}

ensuite c'est bon.
tu parle de pointeur sur tableau mais un tableau c'est deja un pointeur,donc pour le passage par parametre c'est une reference qui est en faite envoyé
0
Rejoignez-nous