请有兄弟们给我看以下代码!谢了!
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
string slectwod = "that ";
string sgetwod;
string filename;
int inum = 0;
cin> > filename;
fstream infile( "filename ");
if(!infile)
{
cerr < < "cannot open! "
< <endl;
return 0;
}
while(infile> > sgetwod)
{
if(slectwod == sgetwod)
inum++;
}
cout < <inum;
return 0;
}
打开文件,检索 " "的个数,但老是文件都打不开!
帮个忙啊!
[解决办法]
fstream infile( "filename ");这句有问题,比如文件名是in.dat,则写作fstream infile( "in.dat ");如果要自己输入文件名的话,filename不能是string类的,可以设为字符数组。你自己去改改———
[解决办法]
你打开的是名字为filename的文件,没有的话当然打不开
正确的程序应该是
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main() {
string slectwod = "that ";
string sgetwod;
string filename;
int inum = 0;
cin> > filename;
fstream infile(filename.c_str());// <----------------你这里错啦~~
if (!infile) {
cerr < < "cannot open! "
< <endl;
return 0;
}
while (infile> > sgetwod) {
if (slectwod == sgetwod)
inum++;
}
cout < <inum;
return 0;
}