C++ C++;计数INI值而不使用键名称
C++ C++;计数INI值而不使用键名称,c++,ini,C++,Ini,假设我有这个ini文件: [Ranks] John = 0 David = 0 Albert = 3 Tommy = 1 Cyrus = 3 Adam = 0 Sarah = 1 Alecia = 3 我想数一数我有多少0,1和3。当我有名字并检查它们的值然后计算它们时很容易,但是当我没有名字时怎么可能计算它们呢 我更喜欢使用一些简单的WINAPI,而不是使用任何类或库 PS:我使用的是MFC,我不认为有任何预定义的函数用于这样一个相当专门的任务 我看不出你是
假设我有这个ini文件:
[Ranks]
John = 0
David = 0
Albert = 3
Tommy = 1
Cyrus = 3
Adam = 0
Sarah = 1
Alecia = 3
我想数一数我有多少0
,1
和3
。当我有名字并检查它们的值然后计算它们时很容易,但是当我没有名字时怎么可能计算它们呢我更喜欢使用一些简单的WINAPI,而不是使用任何类或库
PS:我使用的是MFC,我不认为有任何预定义的函数用于这样一个相当专门的任务 我看不出你是否有要查找的条目名称有什么区别 不过,基本算法非常简单:
std::map
,其中包含您感兴趣的每个值作为键,以及一个值0(这将是这些值的最终计数)[
开头并且包含=
=
和线端之间的零件它不应该是一个映射?我对这部分“提取=和行尾之间的部分”有问题。拆分字符串对我来说一直是一个噩梦。我可以使用
wcstok
进行拆分,但我真的不喜欢这种方式。即使MFC CString类也没有拆分函数:|点1是毫无意义的。只需执行myMap[key]++;
。这涵盖了3.2和3.3。如果某个键还不在映射中,则在其第一次出现时将插入该键,相关值将设置为int()
,即0,最后增加到1。@m对于点1,您可以使该方法只计算特定值。如果您想一般计算所有值,那么我同意,您不必单独计算点1