Wrzucam program:
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#define VALUE 1024
using namespace std;
std::string downloadFromFile()
{
std::string data;
std::string data2;
ifstream newFile;
cout<<("Jeśli chcesz wczytać dane z pliku stworz plik o nazwie: dane.txt i wpisz do niego tekst.")<<endl;
cin.get();
newFile.open("dane.txt");
if( newFile.is_open())
{
while(newFile.good())
{
getline(newFile, data);
cout<<("Pobrano:")<<data<<endl;
if(!(data.empty()))
{
data2=data;
}
}
}
else
{
cout<<"Błąd! Nie można otworzyć pliku!";
}
newFile.close();
return data2;
}
char * uploadChar()
{
std::string data2;
char array[VALUE];
int menu;
ERROR:
cout<<("Aby pobrać ciąg znaków z klawiatory - 1")<<endl;
cout<<("Aby pobrać ciąg znaków z pliku - 2")<<endl;
cin>>menu;
if(menu==1)
{
cout<<"Podaj slowo lub zdanie: (Tablica ustawiona na: "<<VALUE<<" znakow)"<<endl;
cin>>array;
//cin.getline(array, VALUE);
cout<<("Slowo: ")<<array<<endl;
}
else if(menu==2)
{
data2=downloadFromFile();
char array[data2.size()+1]; //konwersja string na tablice zeby moc ją zwrocić jako wskaźnik
strcpy(array, data2.c_str());
}
else
{
cout<<"Blednea opcja"<<endl;
cout<<"ERROR"<<endl;
goto ERROR;
}
return array;
}
int main()
{
cout<<(uploadChar());
return 0;
}
Czemu program nie wykonuje polecenia "cout<<(uploadChar());". Program po wykonaniu warunków się kończy, a powinien wykonać "patrz wyżej". Nie zwraca wartości do int maina.