Ciao, sono nuovo sia nel forum che nel programmare in c++. Sto cercando di creare un particolare programma, nel quale ho l'assoluto bisogno di leggere tutti i caratteri speciali da un file (compresi anche i caratteri stampabili naturalmente), ed di inserirli in un vettore, non mi serve stamparli, ma solo che vengono inseriti nel vettore il quale dopo verrà convertito con il relativo codice ascii.
faccio un esempio pratico ho il carattere a e Null e mi dovrebbe dare in uscita 97 e 0.
ecco le due funzioni:
1) La prima legge la lunghezza del file.
codice:
void read_lunghezza(int & n,const int & ll,int & cicli){
char x;
fstream buff;
buff.open("file.txt", ios::in);
if(!buff){
cout<<"\nErrore! Impossibile aprire il file!"<<endl;
exit(1);
}
while(!buff.eof()){
buff>>x;
n++;
}
buff.close();
int div=0;
partiziona(n,ll,div);
cicli=div;
cout <<cicli;
}
2) La seconda legge i caratteri
codice:
void read_caratteri(char *& s, int & ll){
s=new char[ll];
fstream buff;
buff.open("file.txt", ios::in);
for(int i=0; i<ll; i++){
buff>>s[i];
}
buff.close();
}
3) La terza li converte
codice:
int ascii(char *& s,int & ll){
int ascii[ll];
for(int i=0; i<ll; i++){
ascii[i] = (int)s[i];
cout <<ascii[i]<<" ";
}
return ascii[ll];
}
p.s. ll è la lunghezza con la quale la stringa viene letta per esempio se inserisco 3 e il file ha 27 caratteri legge i primi 3 poi altri 3 e cosi via fine ad arrivare al fine stringa(ma nn è stata ancora implementata, e non mi serve che lo sia adesso)
Grazie in anticipo a chiunque riesca a capire e a risolvere il mio problema...