witam wszystkich piszę program który na starcie ma klika argumentów. 2 pliki i 2 jakieś tam inne. argumenty mogą być podawane w różnej kolejności. gdy podaje jakiś argument do funkcji po sprawdzeniu czy to plik wyskakuje mi błąd
could not convert '(argv + ((sizetype)(((unsigned int)argument) * 4u)))' from 'char' to 'std::fstream {aka std::basic_fstream<char>}'|
i mam problem jak zrobić żeby w funkcja która rozpoznaje po spacjach do której tablicy struktur wpierdzielić te dane. Z góry dziękuję za pomoc #include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
#define EXIT_INVALID_ARG 2
using namespace std;
int funkcja(fstream plik){
int spacje=0;
string dane;
getline(plik,dane);
for(int i=0;i<dane.length();i++){
if(dane[i]==' ') spacje++;
}
if(spacje==4){
for(int i=0;i<dane.length();i++){
if(dane[i]==' ') spacje++;}
}
return spacje;}
int main(int argc,char *argv[]){
fstream plik;
struct dane {
string imie;
string nazwisko[30];
char NrKarty[20];
float zadluzenie;
string oznaczenie;};
dane ludzie[100];
struct waluty{
string oznaczenie;
string nazwa;
float KDE;//kurs do Euro
float KDD;};// kurs do dolara };
waluty pieniadze[100];
if(argc==4){
for(int argument=1;argument<=argc;argument++){
plik.open(argv[argument],ios::in);
if(plik.good()==true){
cout<<funkcja(argv[argument]);}
else break;
plik.close();
}
}
else cout<<"Program nalezy uruchomic podajac trzy argumenty"<<endl;
}