gpt4 book ai didi

c++ - 确定不同字符的数量

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

我有一个非常大的文件,其中包含超过一百万个字符,包括空格和换行符。我能够找到一个字符出现的次数,

ifstream inData;
inData.open("info.txt");
char text;
int achar=0;
while (inData >> text)
{
if (text == 'a')
{
achar++;
}

}

cout << achar;

我可以将其扩展到所有字符,但这需要 60 多行代码。从表面上看,使用 for 循环遍历字符似乎是一种解决方案。但是,文本未排序,因此它在 while 循环中不起作用。我试图将 inData 插入到字符串中。再一次,由于有换行符,它只占了文本的一部分。所以,我想也许使用数组可能会有所帮助,但考虑到大量的字符;不仅很难预测有多少个字符,而且还需要循环超过一百万次。显然,这不是一条明智的路线。有没有有效的方法来做到这一点?

最佳答案

只需为计数器使用一个数组:

int count[256] = {0};
unsigned char c;
while (inData >> c) {
count[c]++;
}

关于c++ - 确定不同字符的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267741/

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