gpt4 book ai didi

C 有关文件的统计信息,

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

我编写此代码是为了读取文件并分析它。

我使用fgets逐行分析它,这样我发现:

  • 文件中最大的行;
  • 总字数;
  • 总行数。

在上一部分中,我只分析了最大的一行,得到:

  • 最大行的字数。

感谢您的关注,我将等待一些提示和您的帮助来查找任何错误。

#include <stdio.h>
#include <string.h>
int main(){
int i,parole,righe,paroleRiga;
char c[102],ccont,lineaMax[102], filename;
FILE * fp= fopen(filename,"r");

if (fp==NULL)
printf("errore di apertura");
parole=righe=0;
c=fgetc(fp);
lineaMax={0}
while(fgets(c,102,fp)!=NULL){
puts(c);
if(strlen(c)>strlen(lineaMax))
strncpy(lineaMax,c,strlen(c));
for (i=0;i<=strlen(c);i++)
if (c[i]!=''&&c[i]!='\n')
parole++;

}
righe++;
fclose(fp);
do{
ccont=getc(lineaMax);
if (ccont=='') paroleRiga++;

}while(ccont!='\n')

printf("numero di linee:%d,\n",righe)
print("caratteri Tot:%d\n,Max:%d,Media:%d\n",parole,paroleRiga,(parole/righe)
printf("\ntesto linea più lunga:%s",lineaMax);

return 0;
}

最佳答案

#include <stdio.h>
#include <string.h>

int main(){
int i,
parole = 0, //initialize variables here, its neater
righe = 0,
paroleRiga;
char c[102], ccont, lineaMax[102] = "", *filename; //please initialize strings with strings. Btw, filename is never set
FILE * fp= fopen(filename,"r");

if (fp==NULL){
printf("errore di apertura");
exit(EXIT_FAILURE); //exit on failure
}
while(fgets(c,102,fp) != NULL){ // why 102
puts(c);
if(strlen(c) > strlen(lineaMax))
strncpy(lineaMax,c,strlen(c));
for (i=0;i<=strlen(c);i++)
if (c[i]!=' '&&c[i]!='\n')
parole++;

}
righe++;
fclose(fp);
do{
ccont=getc(lineaMax);
if (ccont==' ') paroleRiga++;

} while(ccont!='\n');

printf("numero di linee:%d,\n",righe); //righe is always 1 (0, ++)
printf("caratteri Tot:%d\n,Max:%d,Media:%d\n",parole,paroleRiga,(parole/righe);
printf("\ntesto linea più lunga:%s",lineaMax);

return EXIT_SUCCESS;
}

关于C 有关文件的统计信息,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458623/

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