首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

win32 application 读取ini文件解决方法

2012-04-22 
win32 application 读取ini文件ini文件如下:[data]x5 4 3//一个整形数组y5 5 5len2dir0C/C++ code#inc

win32 application 读取ini文件
ini文件如下:
[data]
x=5 4 3 //一个整形数组
y=5 5 5
len=2
dir=0

C/C++ code
#include <stdio.h>#define MAXSIZE 50struct S{    int x[MAXSIZE];    int y[MAXSIZE];    int len;    int dir;};S m_data;#define Max_Path 200char *strleft(char a[],char b){    int i;    for(i=strlen(a);i>=0;i--)    {        if(a[i]==b)        {            a[i]='\0';            break;        }    }    return a;}void ReadTxt(HWND hWnd){    char FullPath[Max_Path];    char *strPath;    char SegName[10];    char FileName[30];        GetModuleFileName(NULL,FullPath,Max_Path);    strPath=strleft(FullPath,'\\');    strcat(strPath,"\\data.ini");        sprintf(SegName,"data");    m_data.len=GetPrivateProfileInt(SegName,"len",0,strPath);    m_data.dir=GetPrivateProfileInt(SegName,"dir",0,strPath);    for(int i=0;i<m_data.len;i++)    {        m_data.x[i]=GetPrivateProfileInt(SegName,"x",0,strPath);        m_data.y[i]=GetPrivateProfileInt(SegName,"y",0,strPath);    }}

读取len和dir没什么问题,主要是x,y这个数组这么读取,这样我只能读取到第一个x,y的值

[解决办法]
C/C++ code
TCHAR buf[100] = {0};    GetPrivateProfileString(_T("data"),_T("x"), _T(""), buf, 100, _T("F:\\11.ini"));    AfxMessageBox(buf); 

热点排行