-1

我在这里使用错误的 getword 函数吗?编译器一直告诉我没有成员函数。

#include <iostream>
#include <stdlib.h>
#include <string>
#include <fstream>
using namespace std;  
int OccuranceOfString(ofstream & Out)
{
  string Occur;
  string Temp;
  int OccurLength;
  int count;

  cout << "please enter to string to search for";
  cout << endl;
  cin  >> Occur;

  OccurLength = Occur.length();

  while(Out.getword(Temp))
  {
    if (Temp == Occur)
     {
          count ++;
     }
  }    
 return  count;
}         

我的代码有什么问题?我正在尝试使用此函数查找字符串的所有出现

4

4 回答 4

1

std::ofstream没有getword功能:见这里

也许您正在考虑std::getline

于 2013-08-30T05:32:46.370 回答
1

getword列出的头文件中没有任何功能。你只需要构造一个函数来从一行中提取单词。捕获一条线

getline(out,line);

line 将有你的字符串行并使用 line[index] 来获得等于一个单词的连续字符。

于 2017-02-20T20:48:15.330 回答
0

你可以用这个

std::string::find

做这样的事情..

int pos = 0;
int occurrences = 0
string input = "YAaaaAH";
string find = "a";

while(pos != -1){
    pos = input.find(find,pos);
    occurrences++;
}
于 2013-08-30T05:45:46.053 回答
0

文本文件 :

在此处输入图像描述

代码 :

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


using namespace std;
int main()
{

ifstream file("DB_name_age.txt");
int index;
string name;
int age;

if(file.is_open()) 
{
    while(file  >>index >> name >>age)  
    {
        cout << index <<" "<<name <<" "<<age << endl;
    }


   }else{
    cout<< "file open fail" <<endl;
  }
  return 0;
 }

视觉解释: 在此处输入图像描述

于 2022-02-27T06:11:42.127 回答