gpt4 book ai didi

c - 从文件中读取单词/字符串+它们的长度 - c

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

我的 C 程序有问题,它应该从 txt 文件中读取单词/字符串,然后计算它们的长度。当我运行我的程序时,它没有响应

#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *f;
char c;
char word[50];
int a,b=0;

if ((f = fopen("file.txt", "r")) == NULL)
{
printf("CANT OPEN THE FILE" "\n");
return 1;
}
while((c=fgetc(f))!=EOF){
if (c==' ')b++;
word[b]=word[b]+c;
}

for (a=0;a<b;a++){
printf("%c ",word[0]);
}

return 0;
}

它应该这样做:首先我打开我的文件,然后我将从该文件中读取每个字符+将此字符存储在数组单词中,然后当出现空格('')时,它应该将字符写入数组的下一个索引,因此单词将在数组的不同索引上创建然后它应该计算单词的长度,但这应该很容易实现,谢谢我的英语

最佳答案

您共享的代码有很多错误:

  • J没有声明,所以需要添加int j = 0;我假设 j 是您文档中空白处的数字。

  • word[b]=word[b]+c; 更改为 word[b]= c;

  • 然后在循环中对 b 添加增量,这样就不会只在 word[0] 上写入。

  • 你的打印也很糟糕,你只会一遍又一遍地显示第一个字母。

这是经过更正的最终代码。如果文件少于 200 个字符,则显示整个文件。 J 是空白的数量。

#include <stdio.h>

#include <stdlib.h>
int main()
{
FILE *f;
char c;
char word[200];
int a,b=0;
int j = 0;

if ((f = fopen("file.txt", "r")) == NULL)
{
printf("CANT OPEN THE FILE" "\n");
return 1;
}
while((c=fgetc(f))!=EOF){
if (c==' ')j++;
word[b]= c;
b++;
}

for (a=0;a<b;a++){
printf("%c",word[a]);
printf("The file contains %d caracters, and %d whitespaces", b, j);
}

return 0;
}

顺便说一下,下次。至少尝试编译。很明显,您在此处提交有关 SO 的问题之前没有付出任何努力。

关于c - 从文件中读取单词/字符串+它们的长度 - c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27131864/

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