Решил харнить базу в файле. В строе хранить записи, которые разделены точкой с запятой. База будет небольшой, значений всего три штуки, по этому решил особо не заморачиваться. Но проблема пришла откуда не ждал. Не получается разбить полученную строку по разделителю. Сам код выглядит так:
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[]){
ifstream fin;
fin.open("/home/MyUzer/cpp/baze.txt");
string FileLine;
if (fin.is_open()){
cout << "Файл успешно открыт" << endl;
while(getline(fin, FileLine)){ // Считываем поочерёдно строки из файла
cout << "Строка: " << FileLine << endl;
char *pch = strtok (FileLine, ";"); // разбиваем по разделителю
while (pch != NULL){ // Вводим строки
cout << pch << ";" << endl;
pch = strtok (NULL, ";");
}
}
}
else
cout << "Ошибка открытия файла" << endl;
return 0;
}
Ошибка в 18 строке:
error: cannot convert ‘std::__cxx11::string’ {aka ‘std::__cxx11::basic_string’} to ‘char*’
Понимаю, что ему не получается конвертировать string в char, но как решить сию проблему - искренне Хз.