-1
在我的程序中,我讀取文本文件,然後小寫所有,並單獨分割它們並追加到字符串。計數字的出現
using namespace std;
int main() {
int lines=0,i=0,k=0;
FILE *pfile=fopen("myfile.txt", "r");
char line2[500];
char * tok;
string alltext[999];
string words[999];
if(!pfile){printf("Error\n");return 1;}
std::string line;
std::ifstream myfile("eriala.txt");
while (std::getline(myfile, line))
++lines;
for(i=0;i<lines;i++){
fgets(line2,sizeof(line2),pfile);
char * str = line2;
for (int i =0;i<strlen(line2); ++i){
line2[i]=tolower(line2[i]);}
tok = strtok(str," ,.!\n\t():;-");
while(tok !=NULL){
alltext[k].append(tok);
alltext[k].append("\n");
tok=strtok(NULL," ,.!\n\t():;-");
k++;}}
for(int i=0;i<k;i++){
int amount=0;
for(int j=0;j<k;j++){
if(strcmp(alltext[i].c_str(),alltext[j].c_str())==0)
amount++;}
}
}
我需要做的是計算一個單詞在文本文件中出現的次數。有點這樣做。但我需要它們以降序顯示。
你爲什麼要使用這麼多的C 2這是一項要求嗎? – Chnossos
我建議你檢查'std :: map'類型。你可以用這個詞作爲關鍵詞,把count作爲它的值。 (排序地圖很容易) – enhzflep
@Chnossos這是我知道如何寫的方式。 – user1794625