Слова в текстовом файле с новой строки

У меня есть текстовый файл, в котором слова представлены следующим образом:слова в 1 файле Есть код, который выбирает слово из случайной строки и передает его в переменную wordtogame.

    read.open("WORDSLIST.txt");
if (!(read.is_open)())
    cout << "Файл со словами не открыт\n";
while (getline(read, str))
    stringnumber++;
wordtotake = rand() % (stringnumber)+1;  

read.close();
read.open("WORDSLIST.txt"); 

while (getline(read, str))
{
    if (wordtotake == 1)
    {
        int lenthstr = str.length();
        wordtogame = str.substr(0, lenthstr - 0);
        break;
    }
    --wordtotake;
}
read.close();

Для того, что бы этот код работал, нужно, что бы все слова в файле были записаны с новой строки. Подскажите, пожалуйста, как сделать это сделать? То есть, слова в файле должны выглядеть так:слова в 2 файле Возможно ли вообще такое сделать в рамках использования fstream?


Ответы (1 шт):

Автор решения: Mikhailo

Думаю, вам надо простая программа:

int main() {
    string s;
    while(cin >> s) cout << s << "\n";
    }

Далее запустить ее (пусть она для определенности называется convert.exe) из командной строки

convert.exe < input.txt > output.txt

И все. Все слова из файла input.txt будут записаны в файл output.txt в новый строках. Подставьте свои конкретные иимена, и дальше переименовывайте эти файлы как хотите.

→ Ссылка