Ho risolto (di sicuro non grazie a voi) con la funzione cstrcat
Ecco a voi il listato del mio programma ovviamente non finito, pieno di bug e probabilmente malfunzionante:
codice:
char nomefile[256];
char testo[256];
char java[20]=".java";
char comandocompiler[256]="javac ";
char comandoopen[256]="C:/windows/notepad.exe ";
char comandojava[256]="java ";
int indice = 0;
char nomefileintero;
char nome[256]="";
string scelta;
cout << "inserire il nome del file(senza estensione): ";
cin >> nomefile;
strcat (nome,nomefile);
strcat (nomefile, java);
strcat (comandoopen, nomefile);
strcat (comandocompiler, nomefile);
strcat (comandojava, nome);
ifstream FileJava(nomefile);
if (!FileJava){
cout << "Impossibile trovare il file, ne verrà creato uno"<<endl;
ofstream FileJava1(nomefile);
FileJava1 << "public class "<<nome<<"{"<<endl;
FileJava1 << "public static void main(String[] args){"<<endl;
FileJava1 << "}"<<endl<<"}";
FileJava1.close();
system(comandoopen);
goto scelta;
}
else{
cout <<endl;
while (!FileJava.eof()){
FileJava.get(testo[indice]);
cout << testo[indice];
indice++;
}
scelta:
FileJava.close();
SetColor(BLUE);
cout << endl <<"Modifica il listato => 1";
cout << endl <<"Compila il file .java => 2"<<endl;
SetColor(GRAY);
cin >> scelta;
if (scelta == "1")system(comandoopen);
if (scelta == "2"){
goto dopo;
}
if (scelta != "1" && scelta != "2") cout << "Inserisci 'si' o 'no'!";goto scelta;
dopo:
SetColor(RED);
cout << "COMPILAMENTO FILE IN CORSO: ATTENDERE"<<endl;
SetColor(GRAY);
Sleep(2000);
system(comandocompiler);
cout << endl;
SetColor(GREEN);
system(comandojava);
SetColor(GRAY);
cout <<endl;
SetColor(RED);
cout << "COMPILAZIONE COMPLETATA CON SUCCESSO"<<endl;
SetColor(GRAY);
}
}
system("PAUSE");
return 0;
lo so manca il main (è quello non c'è solo scritto) perchè è solo una parte