win32 ini 读取所有section 下边的key value

	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);
		}
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值