通常每个套接字地址只允许使用一次_max无法写入配置文件

通常每个套接字地址只允许使用一次_max无法写入配置文件写入配置文件 CString IP, Port; UpdateData(TRUE); // 将应用程序控件上面的IP和端口 更新至对应的成员变量 IP = m_IpAddress.GetString(); // 读取成员变量控件上面的IP地址将赋给strIP变量 Port.Format(L”%d”, m_iPort); // 读取成员变量控件上面的端口将赋给m_iPort变量 Wri…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

写入配置文件

	CString IP, Port;
	UpdateData(TRUE);	// 将应用程序控件上面的IP和端口 更新至对应的成员变量
	IP = m_IpAddress.GetString();		// 读取成员变量控件上面的IP地址将赋给strIP变量
	Port.Format(L"%d", m_iPort);	// 读取成员变量控件上面的端口将赋给m_iPort变量

	WritePrivateProfileString(L"ServerConfiguration",L"strIP", IP, L".\\IPConfigurationFile.ini");
	WritePrivateProfileString(L"ServerConfiguration", L"strPort", Port, L".\\IPConfigurationFile.ini");
	MessageBox(L"配置文件写入成功!!!", L"提示", MB_OK | MB_ICONINFORMATION);

读取配置文件

方法一:

	int port;		// 端口变量
	port = GetPrivateProfileInt(L"ServerConfiguration", L"strPort", 0, L".\\IPConfigurationFile.ini");

	// 端口号你能够搞定,IP地址你也可以搞定
	m_iPort = port;		// 将读取到端口号赋给端口控件变量

	char ip[100];
	//CString ipaddress; // ip地址变量
	GetPrivateProfileString(L"ServerConfiguration", L"strIP", 0, (LPWSTR)ip ,100,L".\\IPConfigurationFile.ini");

	//MessageBox((LPWSTR)ip);
	// 将读取到ip地址,端口号赋给端口控件变量
	m_iPort = port;		
	m_IpAddress= (LPWSTR)ip;

	UpdateData(FALSE);	// 将成员变量的值更新显示到控件上面来

	MessageBox(L"配置文件读取成功!!!", L"提示", MB_OK | MB_ICONINFORMATION);

注意:
ip[100] 的下标如果给少的话 读取时就会溢出 运行成功后才会报错。

方法二:

	CString IP;
	int port;

	// 读取配置文件的:IP 端口
	GetPrivateProfileString(L"ServerConfiguration", L"IP", L"没有读取到数据.", IP.GetBuffer(100), 100, L".\\IPConfigurationFile.ini");
	port = GetPrivateProfileInt(L"ServerConfiguration", L"port", 0, L".\\IPConfigurationFile.ini");
	
	// 分配将获取的IP和端口赋值给对应控件的成员变量
	m_ip = IP;
	m_port = port;

	// 将控件的成员变量的值更新显示到窗口控件
	UpdateData(false);		
	AfxMessageBox(_T("配置文件读取成功."));

API函数请参考 微软官方网站介绍:
https://docs.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications?view=vs-2019

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170941.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • java 优先级队列_JAVA 队列

    java 优先级队列_JAVA 队列优先级队列是比栈和队列更专用的结构,在多数情况下都非常有用。优先级队列像普通队列一样,有一个队头和队尾,并且也是从队头移除数据。优先级队列中,数据按关键词有序排列,插入新数据的时候,会自动插入到合适的位置保证队列有序。举个例子来说,一组整型数,如果使用优先级队列的话,不管队列之前放入的数据如何,后面添加进去的数据总会被按照升序或者降序排列,当然这个只是优先级队列最基本的使用,在实际生产中可能有…

    2022年9月15日
  • 高通msm8916 LK阶段配置使用i2c5

    高通msm8916 LK阶段配置使用i2c5背景:在调试SLM753某客户项目LCM时,客户使用LVDS的LCM,而msm8916只有一个mipi的接口,所以就是用到了mipi-2-lvds转换芯片:icn6202。这颗芯片需要使用I2C进行配置LVDS屏的时钟和分辨率等信息,以至于LVDS屏可以正常显示。Kernel阶段i2c比较容易使用,只需在dts中配置一个i2c设备即可以使用对应的i2c接口进行数据传输,但是LK阶段的代码就显得

    2022年10月19日
  • 《大话数据结构》目录[通俗易懂]

    《大话数据结构》目录[通俗易懂]由于目录中有比较复杂的格式,所以只能用PDF的形式提供。http://files.cnblogs.com/cj723/%E7%9B%AE%E5%BD%95.pdf

    2022年6月24日
  • java销毁定时器_Java 定时器退出解决方案

    java销毁定时器_Java 定时器退出解决方案项目中用到了Timer每隔一段时间进行一些操作,现在发现有时候莫名其妙地挂在这个计时器上的操作都不做了,用“JConsole”查看其中的线程以后,发现这个定时器线程也不在了(定时器创建的时候带了名字Timertimer=newTimer(“MyTimer”),所以直接能看到),由于日志太多,之前的日志已经找不到了,所以没有办法看是否是有异常发生以及发生在哪里。初步估计,是不是由于T…

    2022年9月17日
  • pycharm如何在运行时打开控制台[通俗易懂]

    pycharm如何在运行时打开控制台[通俗易懂]pycharm如何在运行时打开控制台解决方案:

    2022年8月25日
  • redis主从复制和集群的区别_redis主从复制和redis集群的区别

    redis主从复制和集群的区别_redis主从复制和redis集群的区别Redis主从复制和集群配置    redis主从复制概述1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、

    2022年8月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号