Не работает код. Запись файла в список

184
10 декабря 2017, 12:06

Задача такова: нужно реализовать функцию, которая будет считывать строку с файла и записывать ее поэлементно в список. Не посимвольно, все элементы разделены пробелом. При запуске открывается консоль и почти сразу выдает уведомление о том, что прекращена работа программы.

Что может работать не так?

#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");
}
READ ALSO
Стек вызовов visual studio

Стек вызовов visual studio

Имеется рекурсивный методТак вот, при больших входных значения получаем stack overflow

194
Оценка сложности функции

Оценка сложности функции

Мне необходимо оценить сложность данной функции(код ниже), тк

299
Перегрузка операции &ldquo;&gt;&gt;&rdquo; в с++

Перегрузка операции “>>” в с++

Как можно реализовать перегрузку операции >> так, чтоб выражение a>>b>>c (a,b,c - объекты одного класса) работало следующим образом:

213
Сдвиг части текста С++

Сдвиг части текста С++

Как можно сдвинуть часть текста? Например, из слова "привет" сделать "при вет"Без memmove

219