Volevo porre alla vostra attenzione due quesiti sull'argomento "Apertura File di Testo in C + + " (da notare, ma credo sia evidente
, che sono alle primissime armi
)
PRIMO QUESITO:
Quello che devo fare e' aprire due file di testo semplicemente passando come parametro il loro nome , ed ho provato a fare così :
Main
codice:
#include <iostream>
#include "StarWars.h"
using namespace std;
int main(int argc, char** argv) {
//Parte Dichiarativa
vettore latoscuro,latochiaro;
stringa s1,s2;
int r1,r2;
//Parte Esecutiva
LeggiFile("latoscuro.txt",s1,r1);
cout<<"Contenuto latoscuro:\n";
StampaStringa(s1,r1);
LeggiFile("latochiaro.txt",s2,r2);
cout<<"Contenuto latochiaro:\n";
StampaStringa(s2,r2);
return 0;
}
Body
codice:
#include <iostream>
#include "StarWars.h"
using namespace std;
void LeggiFile(vettore FileName,stringa s,int& r){
fstream f;
f.open(FileName,ios::in);
if (!f)
cout<<"Access Denied\n";
else
while(!f.eof())
f>>s[r++];
f.close();
}
void StampaStringa(stringa s,int r){
for(int i=0;i<r;i++)
cout<<s[i]<<endl;
cout<<endl;
}
Prototipo
codice:
#include <string.h>
#include <fstream>
#define N 100
typedef char vettore[256];
typedef vettore stringa[N];
void LeggiFile(vettore,stringa,int&);
void StampaStringa(stringa,int);
Ma il risultato e' alquanto bizzarro : in pratica funziona solo se apro uno solo dei due file di testo, in caso contrario si arresta in maniera anomala, come testimoniato qui: https://www.sendspace.com/file/2lk9ts
SECONDO QUESITO:
Se volessi fare un solo sottoprogramma che fa decidere di volta in volta all'utente da tastiera il nome del file testo da aprire , si potrebbe fare? (immagino di sì
) e se sì , come?
Grazie in anticipo a TUTTI