我如何总结一个文本文件中的所有数字?

问题描述 投票:-1回答:3

我通过汇总文本文件中的所有数字而遇到问题。看起来似乎很简单,但问题是我的代码无法将2000识别为2000,但是将其识别为2,0,0,0,因此它将数字视为4个单独的数字:

我试图一次一次读取文本文件的字母,因为我也想计算一个字母出现的次数

这是我想阅读的文字:

德国波鸿大学鲁尔大学(University of Bochum)MIT 42954 Studierenden(Stander WS 2018/19)eine der zehngrößtenUniversitätenin Deutschland。

1962年的卢布战争(1965年,于法特·莱赫贝特里布(Aufnahme des Lehrbetriebs)逝世,而在德意志联邦大学)在Querenburg的世界大学校园大学就读天使大学:从大学毕业。死于大学,死于沃恩施塔特·胡斯塔特和埃德卡夫·德恩斯大学的统一管理中心

int main()
{
char txtname[2000];
FILE *fp;
int buchstaben[26] = {0};
int i;
int temp;
int sum;


printf("Dateiname:\n");

scanf("%s",&txtname);

printf("%s",&txtname);

strcat(txtname,".txt");

fp = fopen(txtname,"r");




if(fp == NULL) {
    printf("Datei konnte nicht geoeffnet werden.\n");
}else {
    while( (temp=fgetc(fp)) != EOF)
        {
        if(temp >= 'a' ||  temp <= 'z')
         buchstaben[(temp - 'a')]++;
         if( temp >= 'A' || temp <= 'Z')
         buchstaben[(temp - 'A')]++;
         if(temp>= 48 || temp<= 57)
    }
    printf("Anzahl der einzelnen Buchstaben: \n");

    for(i=0;i<26;i++)

    printf("Buchstabe %c kommt %d mal vor.\n",i+'a',buchstaben[i]);
    }
    printf("Die Summe aller Zahlen sind:%d",sum);

    fclose(fp);
}

我通过汇总文本文件中的所有数字而遇到问题。看起来似乎很简单,但问题是我的代码无法将2000识别为2000,但是将其识别为2,0,0,0,因此它将数字视为4个独立的数字...

c file sum numbers text-files
3个回答
1
投票

您的循环一次读取一个字符。当您看到数字时,必须阅读所有数字,并在阅读数字时将其转换为数字。


0
投票

您可以使用atoi,它将字符串转换为整数,当它遇到非整数char时,它将停止:


0
投票

[Bin auch an der RUB,kann man dichzufälligirgendwo kontaktieren?是这样吗? Hab das selbe问题与社会的反抗。

© www.soinside.com 2019 - 2024. All rights reserved.