Я хотел написать программу, которая позволяет пользователям писать случайные вещи, но я получил
ошибка говоря
нет соответствующего звонка
что я не в состоянии понять это. Помогите мне, пожалуйста.
пока вы пытаетесь ответить на этот вопрос, постарайтесь быть более конкретным.
вот мой код
#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;
}
cin.get с 2 аргументами ожидает char*
в качестве первого аргумента, и вы пытаетесь передать string
в качестве первого аргумента.
Если вы хотите прочитать std::string
вместо C-строки до конца строки используйте getline(cin, story)
Если вы хотите прочитать строку до следующего пробела или новой строки или другого пустого символа, используйте cin >> story;
Кажется, вы пытаетесь записать содержимое 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 …