C++可以给自己的程序生成个.conf的配置文件吗?
问题描述:
比如一个TCP传输的代码,如果我要更改IP地址,不到代码中修改,直接在配置文件中修改就可以了,能实现吗
//创建TCP套接字
SOCKET SocketClient = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN root;
root.sin_addr.S_un.S_addr = inet_addr("192.168.0.171");
root.sin_family = AF_INET;
root.sin_port = htons(14870);
if (connect(SocketClient, (struct sockaddr*)&root, sizeof(root)) == INVALID_SOCKET)
{
printf("连接服务器失败: %d \n", WSAGetLastError());
//储存数据自(/var/was/temp/log)中
return ;
}
else
{
//接收数据
recv(SocketClient, buff, sizeof(buff), 0);
}
char Buffer[MAX_BUF_LEN];
strcpy(Buffer, Log.c_str());
send(SocketClient, Buffer, sizeof(Buffer), 0);
closesocket(SocketClient);
WSACleanup();
答
可以是可以,但是你得自己实现读文件,寻找到配置项,读配置值这些操作,甚至你还要判断配置文件是否存在,有点麻烦。
实际上,windows封装了标准的读写ini配置文件的方法
WritePrivateProfileString GetPrivateProfileString
只要1行代码就可以。
答
当然可以,你可以把任何数据输出到文件进行持久化保存,可以是字符型文本文件,也可以是二进制数据流文件。一般情况下,读取文本文件更加方便,易于改变和拓展;读取二进制文件保密性更好。
大多数的设置持久化框架都采用文本文件,如XML形式、JSON形式、INI形式、或者直接自定义文本文件的格式。