Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无操作员<&书信电报;匹配这些操作数visual c++;_C++ - Fatal编程技术网

C++ 无操作员<&书信电报;匹配这些操作数visual c++;

C++ 无操作员<&书信电报;匹配这些操作数visual c++;,c++,C++,我有一个错误消息,我不知道如何摆脱它。我试图让我的程序要求用户输入文件名,然后将1-100的素数列表输出到该文件中。如果文件是我指定的“ofstream outputfile”,我可以让它工作,但当我将其更改为输入文件时,会弹出错误。它在输入文件后的第28行。我已经检查了关于这个的其他问题,他们都说包括标题,我已经做了,但它仍然不能解决这个问题。我是编程新手,所以我感谢你的帮助和耐心 #include "stdafx.h" #include <iostream> #include &

我有一个错误消息,我不知道如何摆脱它。我试图让我的程序要求用户输入文件名,然后将1-100的素数列表输出到该文件中。如果文件是我指定的“ofstream outputfile”,我可以让它工作,但当我将其更改为输入文件时,会弹出错误。它在输入文件后的第28行。我已经检查了关于这个的其他问题,他们都说包括标题,我已经做了,但它仍然不能解决这个问题。我是编程新手,所以我感谢你的帮助和耐心

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

bool isPrime(int);

int main()
{
    ifstream inputFile;
    string filename;

cout << "Enter a filename: ";
cin >> filename;

inputFile.open(filename);

for (int i = 1; i <= 100; i++)
{
    isPrime(i);
    while (isPrime(i) == true)
    {
        inputFile << i << endl; //ERROR IS HERE!
        break;
    }

}
inputFile.close();
system("pause");
return 0;

}

bool isPrime(int n)
{
    bool isPrime = true;
    for (int i = 2; i<n; i++)
    {
        double x = n%i;
        if (x == 0.0)
            isPrime = false;
    }
    return isPrime;
}
#包括“stdafx.h”
#包括
#包括
#包括
使用名称空间std;
bool-isPrime(int);
int main()
{
ifstream输入文件;
字符串文件名;
cout>文件名;
inputFile.open(文件名);
对于(int i=1;C++ <代码> i > p> >运算符< /code是用于输出到输出流的用户(如COSTDED::OFFROS/CODE),而CODECONTROR ><代码>用于输入流(如<代码> STD::IFSturi)。

因此,将
ifstream
替换为
ofstream
将解决此问题。

如果您想在文件中写入内容


与其声明一个ifstream对象,不如声明一个ofstream对象来解决您的问题

s/intput/output/您需要
std::ofstream
来写入一个文件,而不是
std::ifstream
。顺便说一句,这个
isPrime(i);
什么都不做,请更改:
while(isPrime(i)==true)
到一个
if
语句并删除
break;
。谢谢@DimChtz。我已经完成了您建议的所有更改,现在程序运行良好。“让舒尔删除该endl”为什么?向文件中写入新行是有效的。因此,如果我想让用户输入文件名并保存它,我需要使用ifstream,然后使用ofstream将我的函数写入指定的文件?@tim_weaver No,
std::ifstream
std::ofstream
std::fstream
)存在以读取和写入文件。当您想要读取用户输入时,可以使用
std::cin
std::getline
,等等。如果您必须读取和写入文件,则必须声明fstream的对象