【问题标题】:How to access an integer value from a .ini file in C?如何从 C 中的 .ini 文件访问整数值?
【发布时间】:2015-10-06 21:47:18
【问题描述】:

我正在尝试将 .ini 文件中的值访问到我的主程序中。 ini 文件只包含一些值,如下所示:

 [number]
 jump =4
 [letters]
 key=H,E,L,L,O

我在我的主程序中以

的身份访问它
 LPCSTR file= "C:Users:\\work\\Inifile.ini";
 char returnletters[100];
 int returnjumpvalue;

 GetPrivateProfileString("letters", "key", 0, returnletters, 100, file);
 GetPrivateProfileInt("number","jump",0,returnjumpvalue, file); 

 printf("The letters are %s", returnletters);
 printf("The number is %d", returnjumpvalue);

printf 语句是为了验证我是否为 ini 文件读取了正确的值。但是这里的返回字母给出了正确的值,但我不明白 GetPrivateProfileInt 的用法

 returnletters= H,E,L,L,O

我不明白这一点。有人可以告诉我这里有什么问题吗? GetPrivateProfileInt 在这里。

【问题讨论】:

  • @SouravGhosh 它是一个 Windows API。 See here。无论如何,OP的电话都是错误的。 (计算参数)。
  • @Goldengirl 您的调用对于该 API 来说毫无意义。 API 用作取值,return 值(您根本没有使用)将返回您提供的默认值或给定的 app-key 值(如果存在且可行) int。您的调用会丢弃返回值,并且无论如何都没有意义,因为实际的 API 使用 4 个参数,而不是 5 个。
  • @WhozCraig:谢谢……我发现了参数中的错误。因此,如果没有变量名,我如何从我的 ini 文件中访问值“4”?我的意思是,正如您所说,该特定调用的返回值存储在哪里
  • @Goldengirl returnjumpvalue = GetPrivateProfileInt("number", "jump", 0, file);
  • @WhozCraig:谢谢。我不这样声明变量真是太愚蠢了。再次感谢:)

标签: c configuration ini


【解决方案1】:
returnjumpvalue = GetPrivateProfileInt("number","jump",0, file);

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724345%28v=vs.85%29.aspx

返回值

返回值是与后面的字符串等效的整数 在指定的初始化文件中指定的键名。如果钥匙是 未找到,返回值为指定的默认值。

【讨论】:

    猜你喜欢
    • 2015-10-02
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2011-03-12
    相关资源
    最近更新 更多