строка — Ошибка обработки файла C ++

Я хотел написать программу, которая позволяет пользователям писать случайные вещи, но я получил
ошибка говоря

 нет соответствующего звонка 

что я не в состоянии понять это. Помогите мне, пожалуйста.
пока вы пытаетесь ответить на этот вопрос, постарайтесь быть более конкретным.

вот мой код

#include<iostream>
#include<fstream>
#include<string>

using namespace std;

int main()
{
string story;
ofstream theFile;
theFile.open("Random.txt");
while(cin.get(story,5000)!=EOF)
{
theFile<< story;
}
return 0;
}

0

Решение

cin.get с 2 аргументами ожидает char* в качестве первого аргумента, и вы пытаетесь передать string в качестве первого аргумента.

Если вы хотите прочитать std::string вместо C-строки до конца строки используйте getline(cin, story)

Если вы хотите прочитать строку до следующего пробела или новой строки или другого пустого символа, используйте cin >> story;

1

Другие решения

Кажется, вы пытаетесь записать содержимое cin в файл. Вы можете просто использовать потоковые операторы:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
string story;
ofstream theFile;
theFile.open("Random.txt");

if(cin >> story)
{
theFile << story.substr(0, 5000);
}

return 0;
}

Я предполагаю, что вы хотите только первые 5000 символов в Random.txt …

1

По вопросам рекламы ammmcru@yandex.ru