Ciao
Avrei un problema con il mio codice.
Il mio probleva si trova all'inizio della mia funzione void nuovoprofilo().
In input immetto un nome e cognome e vorrei che il mio programma mi crei:
una cartella che si chiami come il nome e cognome appena digitati e vorrei inoltre, che il nome e cognome appena digitati vengano scritti all interno del file DATABASE.txt
La cartella viene normalmente creata. Invece su file non viene scritto niente. Come mai?!
Ecco il mio codice
codice:#include <iostream> #include <stdlib.h> //Necessaria per utilizzare system #include <fstream> // Necessaria per utilizzare apertura e scrittura dei file #include <windows.h> // Necessario per createprocess() e createpipe() #include <cstring> #include <direct.h> #define BUFSIZE 4096 #define MAX 50 #define lung 100 HANDLE g_hChildStd_IN_Rd = NULL; HANDLE g_hChildStd_IN_Wr = NULL; HANDLE g_hChildStd_OUT_Rd = NULL; HANDLE g_hChildStd_OUT_Wr = NULL; void nuovoprofilo(); void CreateChildProcess(void); void WriteToPipe(void); void ReadFromPipe(void); int AggiustaCaratteri(char buf[], int length); char nome_cognome[MAX], nome_file[lung][lung],a; int i=0; using namespace std; int main(int argc, TCHAR *argv[]) { char nome_cognome[MAX], nome_file[lung][lung], a; int i=0; cout << "Immetti nome e cognome" << endl; cin.getline(nome_cognome,MAX); ifstream fin ("C:\\cygwin\\home\\DATABASE.txt"); while(fin.good()) { fin.getline(nome_file[i],lung); i++; } for (int i=0; i<strlen(nome_file[i]);i++) { if(strcmp(nome_file[i],nome_cognome)==0) { cout << "Utente già registrato"; system("PAUSE"); return -1; } } cout << "Procedere con l'installazione oppure uscire? s / n "<<endl; cin >> a; while(a!='n') { switch (a) { case 's': chdir("C:\\cygwin\\home\\Profiles"); CreateDirectory(nome_cognome,NULL); chdir(nome_cognome); CreateDirectory("wav",NULL); chdir("C:\\cygwin\\home"); nuovoprofilo(); return -1; break; default: cout << "Procedere con l'installazione oppure uscire? s / n"; cin>>a; } } system ("PAUSE"); return 0; } void nuovoprofilo() { TCHAR *argv[MAX]; ofstream fout("C:\\cygwin\\home\\DATABASE.txt", ios::app); fout << endl << nome_cognome; for (int i=0; i<strlen(nome_cognome); i++) { fout << nome_cognome[i]; } ofstream fout("C:\\cygwin\\home\\DATABASE.txt", ios::app); fout << endl; for (int i=0; i<strlen(nome_cognome); i++) //Vorrei che sul mio file DATABASE.txt { //venisse scritto il contenuto dell fout << nome_cognome[i]; // array nome_cognome } //cartelle con nome profilo }

Rispondi quotando