Задача такова: нужно реализовать функцию, которая будет считывать строку с файла и записывать ее поэлементно в список. Не посимвольно, все элементы разделены пробелом. При запуске открывается консоль и почти сразу выдает уведомление о том, что прекращена работа программы.
Что может работать не так?
#include <iostream>
#include <string>
#include<fstream>
using namespace std;
struct element
{
string str; // Звездочки ставить по-разному str
element* next;
};
element* inputFile(string fileName) {
string s;
string space = " ";
ifstream in (fileName);
getline(in, s);
in.close();
element* first, *current;
current = first = new element;
for (int i = 0; i < s.length(); i++)
if (s[i] == space[0])
current->str = current->str + s[i];
else
current = current->next;
return first;
}
int main() {
element* list = inputFile("E:\out.txt");
cout << list->str;
system("pause");
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется рекурсивный методТак вот, при больших входных значения получаем stack overflow
Как можно реализовать перегрузку операции >> так, чтоб выражение a>>b>>c (a,b,c - объекты одного класса) работало следующим образом:
Как можно сдвинуть часть текста? Например, из слова "привет" сделать "при вет"Без memmove