gpt4 book ai didi

计数并计算: from files; I;m kinda lost on how to get going (Noobie here)

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

我的作业是尝试计算源代码中某些关键字的数量。我一生都不知道该怎么做。

例如,我的代码应该执行此操作

  number of total lines

number and percentage of blank lines

number and percentage of comments (start with // or /*)

number and percentages of ints, longs, floats, doubles, char

number and percentages of if's

number and percentage of else's

number and percentage of for's

number and percentage of switch

number and percentage of semicolons

number and percentage of structs

number and percentage of arrays (contains [ or ], divide count by 2)

number of blocks (contains { or }, divide count by 2)

这是我迄今为止所做的一点

int main()
{

FILE * bsfile;

bsfile = fopen("bship.txt", "r");
char singleLine[150];

while (!feof(bsfile)) {
fgets(singleLine, 150, bsfile);
puts(singleLine);


}

fclose(bsfile);


return 0;
}

它几乎将整个文件写入控制台,然后关闭。如果有人可以通过向我解释如何查找 if 的数量来帮助我,这确实会对我有很大帮助并让我开始。我尝试过谷歌等,但我不知道如何让它发挥作用。我知道我应该在 for() 中使用计数器?

最佳答案

您正在做的是从文件中读取一行并将其放入字符串中。现在 fgets() 在循环中使用相同的字符串,这将继续覆盖前面的行。这不是将文件数据复制到字符串的安全方法。您没有注意到这一点,因为您在将每一行放入字符串后都将其打印。如果您在 while 循环之后使用了 put,您就会意识到这个问题。

您应该使用双指针来字符并为每一行动态分配 2D 数组,并通过对每个 1D 数组使用 fget 来不断获取行,或者使用单指针并将整个数据复制到使用 fgetc() 动态分配的单个字符串中

将数据放入字符串后,将 strstr() 与搜索字符串一起使用来计算特定关键字的重复次数,您的工作就完成了。然后您唯一要做的就是计算每个关键字的百分比,这不是一项艰巨的工作。

关于计数并计算: from files; I;m kinda lost on how to get going (Noobie here),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26205282/

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