错误发生

yang_9875 2009-07-28 06:27:39
写了个CURL程序,在控制台下运行没问题,但改到MFC对话框程序里,就报了个“遇到问题需要关闭”的错误,求救,急~~

难道控制台程序和MFC对话框程序有什么区别么?

int CPC_IIUDlg::writeData(void *ptr, int size, int n, void *stream)
{
fp = fopen("d:\\temp.txt", "a+");
if(fp==NULL)
{
MessageBox("123",NULL,MB_OK);
}
int written = fwrite(ptr,size,n,fp);
char *dd;
return written;
}

void CPC_IIUDlg::OnLook()
{
// TODO: Add your control notification handler code here
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{

//fp = fopen("d:\\temp.txt", "a+");

char *cs;
char * p1="123";
curl_easy_setopt(curl,CURLOPT_POST,1);

//个别状态监视
//getIdvStat
cs = "GetStat";


curl_easy_setopt(curl, CURLOPT_POSTFIELDS, cs);
curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.7:80/Net2.cgi");


char *s = getenv("REQUEST_METHOD");

char *data;
// curl_easy_setopt(curl, CURLOPT_WRITEDATA, data);
//GetDlgItem(IDC_EDIT3)->SetWindowText(data);

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,writeData);

curl_easy_perform(curl);

/* always cleanup */
curl_easy_cleanup(curl);

fclose(fp);
}
}
...全文
104 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang_9875 2009-07-29
  • 打赏
  • 举报
回复
我现在把fp改成局部变量就ok了,成员变量不行
wy2001wy 2009-07-29
  • 打赏
  • 举报
回复
感觉是size和n传错了,那两个参数比较容易搞错。
yang_9875 2009-07-29
  • 打赏
  • 举报
回复
我现在觉得是在回调函数里不能对成员变量进行访问,访问就会出错
yang_9875 2009-07-29
  • 打赏
  • 举报
回复
00000065 ???
00000066 ???
00000067 ???
00000068 ???
跟到这里就报错了。
yang_9875 2009-07-29
  • 打赏
  • 举报
回复
参数都是对的,本来我想把*ptr的值赋给一个全局变量,现在设置断点跟踪时,跟到回调函数返回值就报错了,错误是Unhandled exception in pu_iiu.exe:0xc0000005:Access Violation
homesos 2009-07-29
  • 打赏
  • 举报
回复
打开的文件句柄fp,打开后有没有及时关闭。
wxf54318 2009-07-29
  • 打赏
  • 举报
回复
在MFC中操作文件一般用CFile或CStdioFile
hazrael 2009-07-29
  • 打赏
  • 举报
回复
fp, ptr, nSize等都是正确的?
wxf54318 2009-07-29
  • 打赏
  • 举报
回复
控制台当然和对话框当然有区别了,控制台是命令行形式输出的,类似DOS窗口,而mfc是GUI界面的
控制台的主函数是MAIN,mfc是WINMAIN
控制台要自己写消息循环,MFC是消息映射
homesos 2009-07-29
  • 打赏
  • 举报
回复
参数是否正确?
提示什么错误?
homesos 2009-07-29
  • 打赏
  • 举报
回复
不知道调用关系如何?

出错时看一下调用堆栈,确定一下出错位置
yang_9875 2009-07-29
  • 打赏
  • 举报
回复
int written = fwrite(ptr,size,n,fp);
错误就在这一行,回调函数里不能对文件进行访问??
谢谢大家帮忙
jyh_baoding 2009-07-29
  • 打赏
  • 举报
回复
设置断点查一下,可能程序本身就有错误,只是没有发现
xiaohuizhijia 2009-07-29
  • 打赏
  • 举报
回复
估计是分配了系统内存,或者一个未知内存,引起程序崩溃.解决方法是断点调试一下,就知道错误出在那里了!
  • 打赏
  • 举报
回复
调试运行 查看callstack
oyljerry 2009-07-28
  • 打赏
  • 举报
回复
设置断点,调试,看出错的语句,然后看具体出错的信息等
bigriverhorse 2009-07-28
  • 打赏
  • 举报
回复
楼主总得说出是那一行吧,不然还让大伙把你的代码调试一把才解答你的呢,又没有工程,很多函数又没有。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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