Oppure

Loading
12/03/09 17:50
Il_maca
ciao raga, rieccomi a rompere, ma purtroppo il C/c++ scolastico non mi basta!! e mi rivolgo a voi!
ecco il mio ennessimo problema:

int main(){
FILE* a;
string c;

cout<<"Periferica: ";
cin>>c;
c= c+"://xxx.dat";
a=fopen(c.c_str(),"w+");
fclose(a);
}


bene questo codice dovrebbe chiedere in input la lettera della periferica(H,J ecc..) e creare lì dentro un file! e FUNZIONA!
ma se io immetto una lettera che non è abbinata a nessun file system mi genera un errore!
e questo è normale, ma io vorrei sapere se c'è un modo per intercettare questo errore e rifar digitare la lettera! è possibile?? come?? grazie per le risposte!
Ultima modifica effettuata da Il_maca 14/03/09 13:43
aaa
12/03/09 18:41
theprogrammer
Intanto il codice che hai mostrato, presenta degli errori ... il piu' grave e' la variabile c dichiarata come char e non come string.

E a parte il fatto che "mischi" codice C e codice C++, se proprio si vuole rimanere sul tuo codice, si puo' scrivere

#include <iostream>
#include <string>

using namespace std;

int main()
{
	FILE* a1; 
	string c; 

	cout<<"Periferica: "; 
	cin>>c; 
	
	c= c+":\xxx.dat"; 
	a1=fopen(c.c_str(),"w+"); 
	if(a1)
		fclose(a1); 
	else
		cout << "ERRORE" << endl;

	return 0;
} 
aaa
13/03/09 17:45
Il_maca
Postato originariamente da theprogrammer:

Intanto il codice che hai mostrato, presenta degli errori ... il piu' grave e' la variabile c dichiarata come char e non come string.

E a parte il fatto che "mischi" codice C e codice C++, se proprio si vuole rimanere sul tuo codice, si puo' scrivere

#include <iostream>
#include <string>

using namespace std;

int main()
{
	FILE* a1; 
	string c; 

	cout<<"Periferica: "; 
	cin>>c; 
	
	c= c+":\xxx.dat"; 
	a1=fopen(c.c_str(),"w+"); 
	if(a1)
		fclose(a1); 
	else
		cout << "ERRORE" << endl;

	return 0;
} 


si! hai ragione!! mi sono accorto compilando questo codice checi sono parecchi errori! il fatto è che l'ho scritto in 5 minuti, togliendo le parti che non servivano, e quindi ho commesso parecchi errori!!
ti dò ragione anche sul fatto che il mio programma è un ibrido, non è ne C ne C++, ma purtroppo nella mia scuola si studia principalmente java e non abbiamo mai dedicato molta attencione alle differenze tra i due linguaggi: quello mi hanno spiegato e quello uso!! adesso sarebbe inutile provare a cambiare!!

cmq anche se hai ragione in pieno, ci sono modi e modi per rispondere!!! quindi la prossima volta ti pregherei di rispondere con serietà evitando atteggiamenti molto irritanti!!
GRAZIE!!
aaa
13/03/09 18:00
theprogrammer
Postato originariamente da Il_maca:
cmq anche se hai ragione in pieno, ci sono modi e modi per rispondere!!! quindi la prossima volta ti pregherei di rispondere con serietà


Ma come ti permetti? La mia era una risposta piu' che seria. Fai attenzione a quello che scrivi.

evitando atteggiamenti molto irritanti!!
GRAZIE!!


Ma di che parli?

Datti una calmata.
aaa
13/03/09 20:51
pierotofy
Il_maca, theprogrammer stava cercando di aiutarti e sono sicuro che la sua critica costruttiva non era un'offesa, anzi, dovrebbe essere un buon commento per migliorare il tuo stile di programmazione in meglio.

Ora riprendiamo la discussione originale senza ulteriori :ot: altrimenti chiudo.

Il mio blog: piero.dev
14/03/09 13:42
Il_maca
ok va bene!! mi riscuso nuovamente!!
ho provato il tuo metodo e funziona! grazie
Ultima modifica effettuata da Il_maca 14/03/09 13:43
aaa