博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++配置文件.ini,GetPrivateProfileString( )\WritePrivateProfileString( )
阅读量:7038 次
发布时间:2019-06-28

本文共 1940 字,大约阅读时间需要 6 分钟。

最近换了新公司,开始做程序。之前没做过c++,用c++改写了一个c的socket程序。当时遇到一个问题:程序更改,如果需求变了,程序中的一些参数需要适当修改。当时公司的大牛说:“你可以写一个配置文件,到时直接更改配置文件就ok了”。配置文件?ini?没用过。今天有时间决定学习,顺便开始记一些笔记。

 

网上资料很多,我水平有限,把自己一步步得到的东西写下来,一是为了自己日后看方便,二是方便读者应用。话不多说开搞。

我的实验环境是vs2013 c++。

 

读配.ini配置文件:

DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);

分析:

返回值 :

DWORD ---------接收缓冲区的大小(long类型)

型参:

LPCTSTR lpAppName ---------- INI文件中的一个字段名,这个字串不区分大小写。

LPCTSTR lpKeyName ---------- lpAppName 下的一个键名,也就是里面具体的变量名,这个字串不区分大小写。

LPCTSTR lpDefaut ----------------如果没有其前两个参数值,则将此值赋给变量。指定的条目没有找到时返回的默认值。可设为空("")。

LPSTR lpReturnedString -------接收INI文件中的值的CString对象,指定一个字串缓冲区,长度至少为nSize。

DWORD nSize ---------------------指定装载到lpReturnedString缓冲区的最大字符数量

LPCTSTR lpFileName -----------完整的INI文件路径名

示例:

 

[cpp] 
 
 
  1. #include <iostream>  
  2. #include <windows.h>//这个头文件一定要添加,否则GetPrivateProfileString(...)函数无法使用  
  3.   
  4. using namespace std;  
  5.   
  6. void main() {  
  7.     char ip[16];  
  8.     char add[20];  
  9.     char net[20];  
  10.     char set[20];  
  11.       
  12.     DWORD num;//long类型,可以省略不写,如下几行。  
  13.     num = GetPrivateProfileString("NETWORK", "ServerIP", "", ip, sizeof(ip), "e:\\test.ini");  
  14.     GetPrivateProfileString("NETWORK", "LocalHost", "", add, sizeof(add), "e:\\test.ini");  
  15.     GetPrivateProfileString("NETSET", "Net", "", net, sizeof(net), "e:\\test.ini");  
  16.     GetPrivateProfileString("NETSET", "NetHost", "", set, sizeof(set), "e:\\test.ini");  
  17.   
  18.     cout << num << endl;  
  19.     cout << "-----------------\n";  
  20.       
  21.     cout << ip << endl;  
  22.     cout << add << endl;  
  23.     cout << net << endl;  
  24.     cout << set << endl;  
  25.       
  26.     cout << "------------\n";  
  27.       
  28.     system("pause");  
  29. }  

 

 

写.ini配置文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);

 

 

示例:

 

[cpp] 
 
 
  1. #include <iostream>  
  2. #include <windows.h>//这个头文件一定要添加,否则GetPrivateProfileString(...)函数无法使用  
  3.   
  4. using namespace std;  
  5.   
  6. void main() {  
  7.           
  8.     WritePrivateProfileString("Device", "Name", "PC", "e:\\test2.ini");  
  9.           
  10.     system("pause");  
  11. }  

 

转载于:https://www.cnblogs.com/shikamaru/p/7646559.html

你可能感兴趣的文章
Cocos2d 中对图片的各种操作
查看>>
cocos2d坐标系
查看>>
Android.mk的用法和基础
查看>>
CentOS7 安装Docker
查看>>
笔记本高分辨软件兼容问题,字体太小或模糊
查看>>
分布式存储系统可靠性系列五:副本放置算法 & CopySet Replication
查看>>
常用电线负载的电流和功率
查看>>
TreeMap升序|降序排列和按照value进行排序
查看>>
redis在windows10上跑起来
查看>>
面试题目:反转链表的算法实现
查看>>
xss挖掘初上手
查看>>
SGU 116 Index of super-prime
查看>>
简化Web开发的12个HTML5-CSS框架
查看>>
C#温故而知新学习系列之.NET运行机制—.NET中非托管代码是指什么?(二)
查看>>
25个漂亮的国外绿色网站设计作品分享
查看>>
C++中delete与delete[]
查看>>
iphone:URL initWithString 返回为空
查看>>
ASP.NET页面间数据传递的9种方法
查看>>
#百度360大战# 我为什么要支持360
查看>>
html5指南--3.拖拽功能的实现
查看>>