Essayer d'obtenir trois tableaux différents de types différents à imprimer pour séparer les fichiers texte à l'aide d'un modèle.Envoi de différents types de tableaux à différents fichiers de texte à l'aide d'un modèle C++
Voici ce que j'ai:
template <class T>
void givetxt(T *a, const int n)
{
ifstream infile("C:\\.txt", ios::in | ios::app);
for (int i = 0; i<n; i++)
{
infile >> a[i];
}
infile.close();
}
template <class T>
void savetxt(const T *a, const int n)
{
ofstream outfile("C:\\.txt", ios::out | ios::app);
for (int i = 0; i<n; i++)
outfile << a[i] << endl;
outfile.close();
}
int main()
{
const int n1 = 5, n2 = 7, n3 = 6;
int a[n1];
float b[n2];
char c[n3];
givetxt(a, n1);
savetxt(a, n1);
givetxt(b, n2);
savetxt(b, n2);
givetxt(c, n3);
savetxt(c, n3);
en ce moment, il envoie toutes les données du tableau au txt. Idéalement, je serai en mesure de l'imprimer à .inttxt
, .floattxt
et .chartxt
. Je ne suis pas sûr de savoir comment ajuster le fichier infile/outfile pour permettre des fichiers texte séparés pour les autres tableaux. J'ai essayé des pointeurs mais le modèle ne me permettrait pas de rapporter T a*
ni const int n
aux variables que j'ai dans main
. une poussée dans la bonne direction serait très appréciée.
Que diriez-vous d'écrire 3 fonctions de surcharge 'savetxt (int *, int)', 'savetxt (float *, int)' et 'savetxt (char *, int)' et faites-les appeler votre fonction de template avec le 3ème paramètre - le nom de fichier 'void savetxt (T * a, const int n, const car * sFileName)'? –
Génial merci pour votre aide, c'est ce qui a fini par travailler pour moi. 'void savetxt (T * a, const int n, const car * nomFichier) { \t fichier sortant (sFileName, ios :: out | ios :: app); \t pour (int i = 0; i
bien le code de puits ne sort pas si grand dans les commentaires, mais cela fonctionne parfaitement, merci pour votre temps. –