24,855
社区成员
发帖
与我相关
我的任务
分享
//文件d:\mydir\test.initest.ini的内容:
//[节1]
//键名集合的名称=键名1|键名2|键名3
//键所对应值集合的名称=键名1的值|键名2的值|键名3的值
#pragma comment(lib,"advapi32")
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <locale.h>
int n;
char ks[256],vs[256];
char *kts[100],*vts[100];
char *V(char *K) {
int i;
for (i=0;i<n;i++) {
if (0==strcmp(kts[i],K)) {
return vts[i];
}
}
return "";
}
int main() {
int i;
char *kt,*vt;
setlocale(LC_ALL,"chs");
GetPrivateProfileString("节1","键名集合的名称" ,"",ks,256,"d:\\mydir\\test.ini");
printf("ks[%s]\n",ks);
kt=strtok(ks,"|");
i=0;
while (kt!=NULL) {
kts[i]=kt;
i++;if (i>=100) break;
kt=strtok(NULL,"|");
}
GetPrivateProfileString("节1","键所对应值集合的名称","",vs,256,"d:\\mydir\\test.ini");
printf("vs[%s]\n",vs);
vt=strtok(vs,"|");
i=0;
while (vt!=NULL) {
vts[i]=vt;
i++;if (i>=100) break;
vt=strtok(NULL,"|");
}
n=i;
printf("[%s]:%s\n","键名1",V("键名1"));
printf("[%s]:%s\n","键名2",V("键名2"));
printf("[%s]:%s\n","键名3",V("键名3"));
printf("[%s]:%s\n","键名4",V("键名4"));
return 0;
}
//ks[键名1|键名2|键名3]
//vs[键名1的值|键名2的值|键名3的值]
//[键名1]:键名1的值
//[键名2]:键名2的值
//[键名3]:键名3的值
//[键名4]:
//