writeprivateprofilestring写入失败(c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015)

:暂无数据 2026-09-03 22:50:01 :0

writeprivateprofilestring写入失败(c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015)

大家好,writeprivateprofilestring写入失败相信很多的网友都不是很明白,包括c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015也是一样,不过没有关系,接下来就来为大家分享关于writeprivateprofilestring写入失败和c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015

还是好好看看 ini文件相关操作的API函数说明吧:
将信息写入.INI文件中
1.所用的WINAPI函数原型为:
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
其中各参数的意义
LPCTSTR lpAppName 是INI文件中的一个字段名.
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.
LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
LPCTSTR lpFileName 是完整的INI文件名,如果没有指定完整路径名,则会在windows目录(默认)查找文件。如果文件没有找到,则函数会在windows目录创建它。
2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入 c:\stud\student.ini 文件中.
CString strName,strTemp;
int nAge;
strName="张三";
nAge=12;
::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");
此时c:\stud\student.ini文件中的内容如下:
Name=张三
3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:
strTemp.Format("%d",nAge);
::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");
将信息从INI文件中读入程序中的变量
1.所用的WINAPI函数原型为:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
其中各参数的意义
前二个参数与 WritePrivateProfileString中的意义一样.
lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.
nSize : 目的缓存器的大小.
lpFileName : 是完整的INI文件名.
2.具体使用方法:现要将上一步中写入的学生的信息读入程序中.
CString strStudName;
int nStudAge;
GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");
执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".
注意:如果在读入的ini文件不存在,则按默认值生成相应的ini文件

ini文件WritePrivateProfileString无法写入,为什么

  配置文件中经常用到ini文件,在VC中其函数分别为:
写入.ini文件:
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString, // 键值,也就是数据
LPCTSTR lpFileName // INI文件的路径
);
读取.ini文件:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedString
LPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区
DWORD nSize, // lpReturnedString的缓冲区大小
LPCTSTR lpFileName // INI文件的路径
  

VB 日期写入 ini 文件

dtpicker1.value的类型是什么,与WritePrivateProfileString函数声明中对应的类型(一般都是String)相同了没,如果没有,可以试着用CStr函数转换一下类型。

修改后的代码如下(仅共参考):

aa = WritePrivateProfileString("config", "dtpicker1", CStr(dtpicker1.value), "F:\123.ini")

VB读写配置文件问题

’apiload 定义
Public Declare Function WritePrivateProfileString Lib 
"kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName 
As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal 
lpFileName As String) As Long

//api C 定义
BOOL WINAPI WritePrivateProfileString(
  __in          LPCTSTR lpAppName,
  __in          LPCTSTR lpKeyName,
  __in          LPCTSTR lpString,
  __in          LPCTSTR lpFileName
);

看一下你的声明是否正确,不行就把几个any类型全改为string,因为这个API参数的C定义就是字符串的.

我以前用这个API是没有问题的.

vs 2013 下 mfc 程序 WritePrivateProfileString 写入 ini文件 ,ini 文件 内容是0kb 怎么回事

配置文件中的结构
ownport = 8853
WritePrivateProfileString(sysparam, ownport , str, gsProfileNameD);第三个参数是内容,第四个是配置文件的路径+文件名

VB WritePrivateProfileString问题

我测试没问题
是不是提示 子过程或函数未定义
这是因为 WritePrivateProfileString 是API函数
把下面
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
加到源代码最前面 就可以了

WritePrivateProfileString的郁闷问题

修改一下,s1,s2在没有指明变量类型的时候默认为Variant类型,WritePrivateProfileString的第二和第三个参数需要传递String类变量,你传递使用Variant类型当然就不兼容啦
提供一个我使用多年的函数
其中lpFileName 参数传递一次以后可以省略,就和dir函数那样
用法:
WPPFS "a1", "b1", "v1", "E:\1.ini"
WPPFS "a2", "b2", "v2"
WPPFS "a3", "b3", "v3"
Public Static Function WPPFS(AppName As String, KeyName As String, Value As String, Optional ByVal lpFileName As String) As String
Dim f As String
If lpFileName 《》 "" Then f = lpFileName
WPPFS = WritePrivateProfileString(AppName, KeyName, Value, f)
End Function
觉得回答得好就再加点分吧,谢谢!

GetPrivateProfileString读取失败

Visual Basic 使用API函数读取配置文件可以这样做:
首先在新建工程中添加一个模块。然后将下方的代码复制到新建的模块中:
Option Explicit
Private Declare Function GetPrivateProfileString _
Lib "kernel32" Alias _
"GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String _
) As Long

Private Declare Function WritePrivateProfileString _
Lib "kernel32" Alias _
"WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String _
) As Long

Public Function ReadInitialData(ByVal InitialFile As String, ByVal ActionHead As String, ByVal BodyKey As String, Optional ByVal DefaultValue As String = vbNullString) As String
’读取INI文件
’InitialFile - INI 文件的路径
’ActionHead - INI 文件的读取头,即带有 ,ActionHead=MAC )
’BodyKey - INI 文件的读取躯干,即读取头下面的子字符串
’DefaultValue - 可选参数,当读取一个字串失败时,该值即为返回值。
Dim strBuffer As String
Dim lpRet As Long
strBuffer = Space$(255)
lpRet = GetPrivateProfileString(ActionHead, BodyKey, vbNullString, strBuffer, 255, InitialFile)
If lpRet = 0 Then
ReadInitialData = DefaultValue
Else
ReadInitialData = Left$(strBuffer, lpRet)
End If
End Function
Public Sub WriteInitialData(ByVal InitialFile As String, ByVal ActionHead As String, ByVal BodyKey As String, ByVal KeyValue As String)
’写INI文件
’InitialFile - INI 文件的路径
’ActionHead - INI 文件的读取头,即带有 ,ActionHead=MAC )
’BodyKey - INI 文件的读取躯干,即读取头下面的子字符串
’KeyValue - 写入的值
Call WritePrivateProfileString(ActionHead, BodyKey, KeyValue, InitialFile)
End Sub
调用的方法是:
【写入INI文件】:Call WriteInitialData(“D:\Test.ini", "Config", "Copy", "这里是写入的内容")
’// 接下来将会在D盘中创建一个 Test.ini 文件,然后写入以上内容,您可以打开这个INI文件看一下是什么结构的。。。
【读取INI文件】:MsgBox ReadInitialData(D:\Test.ini, "Config", "Copy", "如果读取失败将会引用这个值")
’// OK !~ 以上模块在 Windows XP 和 WIndows 7 上均调试成功!~祝您好运。。。出自《绝影神话》

[DllImport(“kernel32“)] WritePrivateProfileString

int Internal;
int InternalHigh;
int Offset;
int OffSetHigh;
int hEvent;
}

private static extern int CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);

private static extern bool WriteFile(int hFile, byte lpBuffer, int nNumberOfBytesToWrite, out int lpNumberOfBytesWritten, out OVERLAPPED lpOverlapped);

private static extern bool CloseHandle(int hObject);
private int iHandle;
public bool Open()
{
iHandle = CreateFile("LPT1:", (uint)FileAccess.ReadWrite, 0, 0, (int)FileMode.Open, 0, 0);
if (iHandle != -1)
{
return true;
}
else
{
return false;
}

OK,关于writeprivateprofilestring写入失败和c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015的内容到此结束了,希望对大家有所帮助。

writeprivateprofilestring写入失败(c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台vs2015)

本文编辑:admin

更多文章:


mariadb忘记密码(mysql用户密码忘记了怎么办)

mariadb忘记密码(mysql用户密码忘记了怎么办)

大家好,mariadb忘记密码相信很多的网友都不是很明白,包括mysql用户密码忘记了怎么办也是一样,不过没有关系,接下来就来为大家分享关于mariadb忘记密码和mysql用户密码忘记了怎么办的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月15日 07:50

mysql端口号(如何查看自己数据库的端口号)

mysql端口号(如何查看自己数据库的端口号)

“mysql端口号”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mysql端口号(如何查看自己数据库的端口号)!

2026年10月15日 06:30

printf打印16进制(C语言 十六进制怎么输出)

printf打印16进制(C语言 十六进制怎么输出)

大家好,今天小编来为大家解答以下的问题,关于printf打印16进制,C语言 十六进制怎么输出这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 06:00

avantage怎么设置为中文(Avantage安装丢失GIT)

avantage怎么设置为中文(Avantage安装丢失GIT)

大家好,如果您还对avantage怎么设置为中文不太了解,没有关系,今天就由本站为大家分享avantage怎么设置为中文的知识,包括Avantage安装丢失GIT的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 03:00

ospf协议的作用是什么(OSPF路由协议的作用是什么)

ospf协议的作用是什么(OSPF路由协议的作用是什么)

“ospf协议的作用是什么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ospf协议的作用是什么(OSPF路由协议的作用是什么)!

2026年10月15日 02:40

方案对比特效js(在一个网页中如何实现两个JS特效)

方案对比特效js(在一个网页中如何实现两个JS特效)

各位老铁们好,相信很多人对方案对比特效js都不是特别的了解,因此呢,今天就来为大家分享下关于方案对比特效js以及在一个网页中如何实现两个JS特效的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 02:10

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

今天给各位分享登陆视频监控网页时提示activex控件未注册,怎么解决的知识,其中也会对登陆视频监控网页时提示activex控件未注册,怎么解决进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:30

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

今天给各位分享用C语言编程学生信息管理系统!的知识,其中也会对用C语言编程学生信息管理系统!进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:20

excel连接sql数据库教程(excel怎么连接sql数据库)

excel连接sql数据库教程(excel怎么连接sql数据库)

本篇文章给大家谈谈excel连接sql数据库教程,以及excel怎么连接sql数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 19:40

null s brawl(null和空字符有区别吗)

null s brawl(null和空字符有区别吗)

今天给各位分享null和空字符有区别吗的知识,其中也会对null和空字符有区别吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 19:00

最近更新

广告推广app(常见的app推广方式)
2026-10-15 09:20:01 浏览:0
热刺vs马赛比赛(热刺赛程比分)
2026-10-15 09:10:01 浏览:0
热门文章

标签列表