Я пытаюсь извлечь вектор, который содержит все строки в txt файле, используя c++, и у меня почти нет опыта. В java или matlab это было бы очень просто, все, что мне нужно сделать, это
Прочитайте длинный список последовательности символов из файла txt.
Прокрутите эту последовательность и извлеките строки.
В c++, кажется, есть намного больше вещей, с которыми мне приходится иметь дело, например, меня просят
Добавьте новый файл заголовка c++ (.h) в мою программу и в нем объявите перечисление для различных индексов массива, которые являются релевантными.
Объявите функцию разбора файла, которая принимает два параметра: ссылку на вектор стандартной библиотеки шаблонов (STL) в строках стиля c++ (например, типа vector &) и строку стиля C (типа char *);
Не для меня это слишком много. Есть ли хороший источник, чтобы получить помощь по этому поводу?
Чтобы прочитать файл:
std::ifstream in("foo.txt");
std::stringstream buffer;
buffer << in.rdbuf();
После этого есть различные способы разделить содержимое, в зависимости от ваших точных требований.
std::ifstream in("/path/tofoo.txt");
Поскольку вы новичок в C++, я рекомендую вам ознакомиться с этим сайтом: http://www.cplusplus.com/
Анализ из входных файлов относительно прост, если вы используете командную строку для запуска вашей программы. Просто включите основную функцию следующим образом:
int main(int argc, char **argv)
Затем получите доступ к параметрам, переданным с использованием argv в виде массива:
var = argv[0];
Объявите массив символов, а затем используйте этот массив для захвата каждой строки файла.
char input[MAX_SIZE];
while(cin.getline(input, MAX_SIZE))
{
//Each time this executes, input contains all characters of a line, like a string
//e.g. make it a String and add it to a vector of type String
//do something with input[]
}
Функция анализа синтаксиса может принимать два параметра, которые я указал в основных параметрах, но они также должны быть объявлены как параметры для основного. Затем ваша функция может захватить вход так, как я продемонстрировал.
Что касается вашего файла заголовка, я не совсем уверен, какие типы перечислений вы имеете в виду, но вы можете найти синтаксис и правила для перечисления на указанном выше сайте. Если я правильно помню, перечисления похожи на Java и C++.