gpt4 book ai didi

用 C 计算文本文件中所有字符出现的次数

转载 作者:行者123 更新时间:2023-11-30 15:15:42 25 4
gpt4 key购买 nike

我试图计算文本文件中所有字符的出现次数,但我得到的输出是逐行出现的输出。

即,

文本文件:

aaaaAAA
a
a

上述文件的输出

O caracter 'a' aparece 4 vez(es)
O caracter 'a' aparece 1 vez(es)
O caracter 'a' aparece 1 vez(es)

翻译:字符“a”出现了 4 次

我想要的是这样的:

O caracter 'a' aparece 6 vez(es)
O caracter 'A' aparece 3 vez(es)

代码:

 int strcountc(char *text, char c){
int i, n=0;
for(i=0; text[i]!='\0'; i++)
if(text[i]==c)
n++;
return n;
}

int main(void)
{
FILE *ficheiro1;
char texto_str[3000];


ficheiro1 = fopen("encrypted_file.txt", "r");


while(fgets(texto_str, 3000, ficheiro1) != NULL)

printf("O caracter 'a' aparece %d vez(es)\n", strcountc(texto_str,'a' ));




fclose(ficheiro1);
return (0);
}

最佳答案

这是因为 fgets() 。它会考虑直到遇到换行符。你正在逐行阅读。您可以使用 static int n = 0;或者做

int k = 0;

ficheiro1 = fopen("encrypted_file.txt", "r");


while(fgets(texto_str, 3000, ficheiro1) != NULL)
{
k = k +strcountc(texto_str,'a' );
}

printf("no of char\t %d", k);

关于用 C 计算文本文件中所有字符出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com