Получение входных данных из файла
Привет, ребята, я работаю над проектом, и у меня возникли проблемы с самым его началом. Я был бы признателен за любую помощь.
Поэтому в этой задаче я должен получить свои входные данные из файла, и из того, что я узнал, я могу сделать это с помощью ifstream. Я написал условие, что если файл не откроется, пришлите мне сообщение об ошибке.
и моя проблема в том, что он не работает, и я все время получаю сообщение об ошибке, и кажется, что он не может открыть файл, и я не могу понять, почему он не открывает файл.
///////////////////////// my header file #ifndef header_h #define header_h #include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; struct cam{ string name; string post; int age; int salary; }; void data_input(string fn1, vector<cam> & W); /*input data from our input file*/ #endif ///////////////////////// /////////////////////////the main #include <iostream> #include <fstream> #include "header.h" using namespace std; string inputfile="input.txt"; string outfile="output.txt"; vector<cam> employee_details; int main() { data_input(inputfile, employee_details); return 0; } ///////////////////////// /////////////////////////this the cpp file #include <stdio.h> #include <iostream> #include <vector> #include <fstream> #include "header.h" using namespace std; void data_input(string fn1, vector<cam> &W){ string tmp; ifstream f1( fn1.c_str() ); if( f1.is_open() ) { while( f1.good() )) { //reading names getline (f1,tmp,';'); cam tmp_cam; tmp_cam.name=tmp; W.push_back(tmp_cam); //reading the ages getline(f1,tmp,';'); W.back().age = atoi( tmp.c_str() ); //reading the ranks getline (f1,tmp,';'); W.back().post = tmp; //reading the salaries getline (f1,tmp,';'); W.back().salary = atoi( tmp.c_str() ); } f1.close(); } else { cout << "Error to open the file" << endl; } } /////////////////////////
Что я уже пробовал:
все что я мог найти в сети но я чувствую что упускаю что то очень маленькое вот почему мне пришло в голову почему бы не поделиться этим здесь и не посмотреть на это с разных точек зрения
Richard MacCutchan
Скорее всего, этот файл не существует в рабочем каталоге вашего приложения.
amirak20
это было первое, что я сделал, этого не может быть.
Richard MacCutchan
Ну, это должно быть что-то похожее. Я только что построил и запустил ваш код, и он отлично работает: после удаления лишней закрывающей скобки на вашем while
заявление.