gpt4 book ai didi

C中计算字符串中特定子字符串的数量

转载 作者:行者123 更新时间:2023-11-30 21:05:40 27 4
gpt4 key购买 nike

我有一个字符串,其中放置了从相当大(500MB)的文本文件中读取的所有字符。下面给出了我如何读取 .txt 文件。

    long fsize(FILE *fp) {
fseek(fp, 0, SEEK_END);
long bytes = ftell(fp);
rewind(fp);
return bytes;
}
char *filecontent='\0';
FILE *fp;
fp=fopen(file.txt,"r");
long size = fsize(fp);
fcontent = malloc(size);
fread(fcontent, 1, size, fp);

`

fcontent 指向应采用以下格式的字符串:

matrix
trivial
bigbash
tropical
swalloed
.
.
.

现在我需要计算 fcontent 中“ba”子字符串的出现次数。由于文本文件中的每一行都包含一个单词,并且子字符串搜索应仅限于该单词,因此如何从 fcontent

最佳答案

这里有一个适合您的算法:

  1. 有一个当前指针。将其初始化为指向字符串的开头。
  2. 从当前指针开始搜索第一个行尾字符。
  3. 如果你跑出了绳子的末端,停下来,你就完成了。
  4. 将行尾字符转换为零字节。
  5. 处理从当前指针开始的字符串。
  6. 将当前指针设置为指向您替换为零字节的行尾字符。
  7. 恢复当前指针处的行尾字符,这样就不会损坏字符串(除非您不在乎)。
  8. 不断增加当前指针,直到它指向除行尾字符之外的其他内容。如果您达到零字节,请停止,您就完成了。
  9. 转到第 2 步。

关于C中计算字符串中特定子字符串的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53311905/

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