基于VS2019企业版,获取ini文件中节的个数和节名
直接上代码:
#include "add.h"
#include <stdio.h>
#include<Windows.h>
int CalcCount(int n, char(*str)[10])
{
TCHAR chSectionNames[2048] = { 0 };
char* pSectionName;
int i = 0;
int j = 0;
int k = 0;
int m = 0;
int count = 0;
GetPrivateProfileSectionNames(chSectionNames, 2048, ".//ex1.ini");
for (i = 0; i < 2048; i++, j++)
{
if (chSectionNames[0] == '\0')
{
break;
}
if (chSectionNames[i] == '\0')
{
count++;
pSectionName = &chSectionNames[i - j];
j = -1;
for (m = 0; m < strlen(pSectionName); m++)
{
str[k][m] = *(pSectionName + m);
}
str[k][++m] = '\0';
k++;
if (chSectionNames[i + 1] == 0)
{
break;
}
}
}
return count;
}
int main()
{
char str[50][10] = { 0 };
int i = 0, count = 0;
count = CalcCount(50, str);
for (i = 0; i < count; i++)
{
printf("%s\n", str[i]);
}
ex1.ini文件中的内容:
[a]
na=12
nb=4
nExpect=3
[b]
na=4
nb=2
nExpect=2
[c]
na=3
nb=0
nExpect=0
[d]
na=100
nb=10
nExpect=10
[e]
na=100
nb=10
nExpect=10
[sss]
na=100
nb=10
nExpect=10