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
}