const int bufferSize = 10240;
char buffer[bufferSize] = "";
int charsRead = 0;
charsRead = GetPrivateProfileSectionA("record", buffer, bufferSize, "d:\\test.ini");
if ((0 < charsRead) && ((bufferSize - 2) > charsRead)) {
// walk the buffer extracting values
// start at the beginning (const to remind us not to
// change the contents of the buffer)
const char* pSubstr = buffer;
// while we have non-empty substrings...
while ('\0' != *pSubstr) {
// length of key-value pair substring
size_t substrLen = strlen(pSubstr);
// split substring on '=' char
const char* pos = strchr(pSubstr, '=');
if (NULL != pos) {
// todo: remove "magic number" for buffer size
char name[256] = "";
char value[256] = "";
// if you're not using VC++ you'll prob. need to replace
// _countof(name) with sizeof(name)/sizeof(char) and
// similarly for value. Plus replace strncpy_s with plain
// old strncpy.
strncpy_s(name, _countof(name), pSubstr, pos - pSubstr);
strncpy_s(value, _countof(value), pos + 1, substrLen - (pos - pSubstr));
//nameValuePairs.push_back(NameValuePair(name, value));
int c = 0;
}
// jump over the current substring plus its null
pSubstr += (substrLen + 1);
}
}
win32 ini 读取所有section 下边的key value
最新推荐文章于 2023-11-09 14:29:26 发布