急!程序出现“invalid paramter(win32 error 87)!”

c372662316 2011-04-13 09:22:46
我在程序中添加
CStdioFile iofile;
iofile.Open("a.TXT",CFile::modeCreate|CFile::modeWrite);
CString strTemp;
strTemp.Format("%f",*point); //point 为一int 类型指针
iofile.WriteString(strTemp);

代码后程序出现“invalid paramter(win32 error 87)!”


所以我将上述代码去掉,但程序仍出现“invalid paramter(win32 error 87)!”

求各位大侠解答下,不胜感激!
...全文
359 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2011-04-14
  • 打赏
  • 举报
回复
你确信是你自己程序问题么?新建一个SDI工程并运行看看?

[Quote=引用 17 楼 c372662316 的回复:]
引用 16 楼 arong1234 的回复:
每个可能的函数处都加个断点,看看你哪个函数执行时出现这个错误,首先要找到问题所在

引用 15 楼 c372662316 的回复:
引用 14 楼 happymawolf 的回复:
“invalid paramter(win32 error 87)!”
只能说明是调用了windows API 函数时,参数设置有误!

那该怎么解决?连调……
[/Quote]
c372662316 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 arong1234 的回复:]
每个可能的函数处都加个断点,看看你哪个函数执行时出现这个错误,首先要找到问题所在

引用 15 楼 c372662316 的回复:
引用 14 楼 happymawolf 的回复:
“invalid paramter(win32 error 87)!”
只能说明是调用了windows API 函数时,参数设置有误!

那该怎么解决?连调试都进不去!
[/Quote]

进不了调试,我一按F5或运行他都弹出“invalid paramter(win32 error 87)!”
对话框...
arong1234 2011-04-13
  • 打赏
  • 举报
回复
每个可能的函数处都加个断点,看看你哪个函数执行时出现这个错误,首先要找到问题所在
[Quote=引用 15 楼 c372662316 的回复:]
引用 14 楼 happymawolf 的回复:
“invalid paramter(win32 error 87)!”
只能说明是调用了windows API 函数时,参数设置有误!

那该怎么解决?连调试都进不去!
[/Quote]
c372662316 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 happymawolf 的回复:]
“invalid paramter(win32 error 87)!”
只能说明是调用了windows API 函数时,参数设置有误!
[/Quote]
那该怎么解决?连调试都进不去!
书虫 2011-04-13
  • 打赏
  • 举报
回复
“invalid paramter(win32 error 87)!”
只能说明是调用了windows API 函数时,参数设置有误!
书虫 2011-04-13
  • 打赏
  • 举报
回复
呵呵,你给俺的示例,我就找到那一个问题。那个调试问题,需要具体环境具体代码才能知晓啊!
c372662316 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 arong1234 的回复:]
既然你把你贴的代码都去掉了,问题依旧,你为什么觉得是这段代码造成问题?

我觉得你需要单步跟踪一下,别人无法根据现象就知道你的代码怎么错误了
[/Quote]

调试也进不去!
c372662316 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 visualeleven 的回复:]
又发一遍??
[/Quote]

呵呵,问题急嘛,所以多发几个区,哈哈
c372662316 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 happymawolf 的回复:]
其他的我不知道,但是strTemp.Format("%f",*point); //point 为一int 类型指针
绝对会有问题,*point是一个int类型的,但是你又通过 Format("%f",*)转成浮点类型表示,
这里会出错!
int类型和浮点类型在内存中的存储和表达方式是不一样的!你可以试试以下代码,看看运行结果:

C/C++ code

int _tmain(int ……
[/Quote]


我把那写文件代码去掉了,他还弹出那个对话框!
Eleven 2011-04-13
  • 打赏
  • 举报
回复
又发一遍??
c372662316 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cangyingzhijia 的回复:]
它既然报参数无效你就可以去查查API到底要传什么参数
[/Quote]

编译和链接都没报错,运行时弹出次对话框,调试也进不去!
书虫 2011-04-13
  • 打赏
  • 举报
回复
其他的我不知道,但是strTemp.Format("%f",*point); //point 为一int 类型指针
绝对会有问题,*point是一个int类型的,但是你又通过 Format("%f",*)转成浮点类型表示,
这里会出错!
int类型和浮点类型在内存中的存储和表达方式是不一样的!你可以试试以下代码,看看运行结果:

int _tmain(int argc, _TCHAR* argv[])
{
int i = 100;
printf("%.3f", i);

return 0;
}
c_losed 2011-04-13
  • 打赏
  • 举报
回复

strTemp.Format("%f",*point); //point 为一int 类型指针 //感觉这里有问题 第2个参数

arong1234 2011-04-13
  • 打赏
  • 举报
回复
既然你把你贴的代码都去掉了,问题依旧,你为什么觉得是这段代码造成问题?

我觉得你需要单步跟踪一下,别人无法根据现象就知道你的代码怎么错误了
苍蝇①号 2011-04-13
  • 打赏
  • 举报
回复
它既然报参数无效你就可以去查查API到底要传什么参数
booxiong 2011-04-13
  • 打赏
  • 举报
回复
你把代码全部屏掉,再看呢,感觉没什么问题的
c372662316 2011-04-13
  • 打赏
  • 举报
回复
不要沉!!!
c372662316 2011-04-13
  • 打赏
  • 举报
回复
为什么没人回答啊

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧