回 帖 发 新 帖 刷新版面

主题:本人可以解答VC++方面的问题,有问题请进来。。。

欢迎大家在这里提问。但如果没有及时回复,请见谅。。。
另:请将问题、现象表述清楚,否则恕无法解答。

声明:本人主要提供解决方案,具体作业和代码请自行处理,谢谢。


------2007年5月14日发:

对不起,大家,近来工作繁忙,对于大家的提问没有及时解答深感抱歉。呵呵。

另:本人长期承接VC++项目(至少2000RMB以上项目),有意发邮件(在个人资料里,邮件只接受外包项目),谢谢!

呵呵,祝大家工作学习顺利!

------2008年1月18日发:
呵呵~~~这帖子发了一周年了~~~很感谢大家的支持,点击率和回帖数都是这个版面几乎最高了,呵呵~~~~~不过本人一直都比较忙,没有回答大家的问题,请见谅~~呵呵~~~
欢迎大家继续支持~~~~

回复列表 (共581个回复)

91 楼

楼主助人为乐和学术交流的精神令人感动
是我的一个求助贴,希望楼主能看一下,转到贴这里

我的源代码
    CMenu menu;
    menu.CreatePopupMenu();
1    GetMenu()->InsertMenu(2,MF_BYPOSITION,(UINT)
                menu.m_hMenu,"friends");
2    menu.AppendMenu(MF_STRING,113,"ee");
    menu.Detach();

运行后friends的pop菜单被添加到第2个pop菜单中,但是2句没有执行效果,friends菜单没有获得下拉菜单项
如果将1处的语句改成
     GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,"friends");
ee被添加到了friends菜单的下拉中,但是friends菜单被添加到了最后;
1处不改变,2处改为
    GetMenu()->GetSubMenu(2)->AppendMenu(MF_STRING,113,"ee");
运行时则遭到提示:***.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。
这段程序是写在CMainFrame的oncreate()中的

那位大侠知道是怎么回事?

92 楼

阿,找到自己的问题了,没有加POPUP属性,自己太粗心了

93 楼

如果什么都没输入,即直接回车 或 一定数量空格符后回车,希望打印输出“不能为空”。
可我只能规定数组的长度。如果空格符超过数组长度,这个问题应该怎么解决?求解。
例:
    main()
{
    char mn[4],mp[4];
  to1:cout<<"create manager(4 chars)\n";
    cout<<"name:";
    gets(mn);
    if(mn[0]=='\0'||mn[0]==' '&&mn[1]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]==' '&&mn[3]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]==' '&&mn[3]==' '&&mn[4]=='\0')//如果输入的空格数超过4个,怎样才能使下面的语句执行。
   {
   cout<<"\nempty\n";
   goto to1;
   }         
to2:cout<<"password:";
    gets(mp);
    if(mp[4]>'\0')
    {    
    cout<<"\nempty!\n";
    goto to2;    
    }
}

94 楼

[quote]高手,我有到题目,能帮我解答一下吗?问题如下:
1. Please use VC++/MFC to write a simple program with below features:
(a)       Establish a dialog window to have one “Send” button
(b)     Once “Send” button is pressed, your program “POST” below info to this website: http://cnc.tielu.org/SearchStation.aspx
发站      广东    广州
到站      北京    北京
This program is to simulate how you operate the “POST” action by browser to this website.  Please carefully review what have been transmitted out from your browser to this website.
(c)  To parse the response text strings from this website and to display below info at this Dialog window.  That should be a lot of trains between Guangzhou & Beijing in a day.
- 车次

- 出发站

- 出发时间

- 目的站

- 达到时间

- 终点站

- 历时[/quote]

需要用到CHTTP相关的类来处理HTTP协议,具体请查相关资料。

95 楼

[quote]如果什么都没输入,即直接回车 或 一定数量空格符后回车,希望打印输出“不能为空”。
可我只能规定数组的长度。如果空格符超过数组长度,这个问题应该怎么解决?求解。
例:
    main()
{
    char mn[4],mp[4];
  to1:cout<<"create manager(4 chars)\n";
    cout<<"name:";
    gets(mn);
    if(mn[0]=='\0'||mn[0]==' '&&mn[1]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]==' '&&mn[3]=='\0'||
    mn[0]==' '&&mn[1]==' '&&mn[2]==' '&&mn[3]==' '&&mn[4]=='\0')//如果输入的空格数超过4个,怎样才能使下面的语句执行。
   {
   cout<<"\nempty\n";
   goto to1;
   }         
to2:cout<<"password:";
    gets(mp);
    if(mp[4]>'\0')
    {    
    cout<<"\nempty!\n";
    goto to2;    
    }
}[/quote]

如果空格符超过数组长度,会继续在数组的下一个内存地址赋值,将会引起内存混乱,但数组的前4个字符仍然为输入的前4个字符。建议数组范围设置为足够大。

96 楼


我是初学者,有很多问题需要请教。能告诉我你的QQ和邮箱吗?

97 楼

我有个问题关于VC++单步调试的question,即每次我用单步调试法调试程序,当程序遇到cin或cout时,总出现对话框,叫我给出istream.cpp 或ostream.cpp文件的位置,但我用搜索的方法查找,总找不到。请各位高手吱吱招!

98 楼

[quote]我有个问题关于VC++单步调试的question,即每次我用单步调试法调试程序,当程序遇到cin或cout时,总出现对话框,叫我给出istream.cpp 或ostream.cpp文件的位置,但我用搜索的方法查找,总找不到。请各位高手吱吱招![/quote]

cin和cout是C++系统标准I/O,调试不能跟进去的。出现对话框后点取消,然后继续单步调试就可以了。

99 楼

//在文件夹D:\\data中有一组数据文件(*.dat),以下程序通过比较数据文件的创建时间获得最新的数据文件
    //通过编译,无错误提示,运行中出错,请大家诊断一下

    CFileFind find;
    CString StrFirstdataPath; //第一个数据的路径
    CFileStatus Status;
    CFileStatus StrNextStatus;
    CString StrNextdataName;  //下一个数据的文件名
    CString StrNextdataPath;  //下一个数据的文件路径
    CString StrNextdataCtime; //下一个数据的文件创建时间

//开始查找最新的数据文件(后缀名为.dat)
//在以下路径的文件夹中查找
    StrFirstdataPath="D:\\data";
    
    if(StrFirstdataPath.Right(1)!="\\")
        StrFirstdataPath+="\\";

    CFile::GetStatus( StrFirstdataPath+"*.dat", Status );
    CString tempname=find.GetFileName();
    CString tempctime=Status.m_ctime.Format("%Y年%m月%d日%H时%M分%S秒");    

    BOOL bflag=find.FindFile(StrFirstdataPath+"*.*",0);    
     
    while(bflag)   //下个数据是否存在
    {
        bflag=find.FindNextFile();
        StrNextdataName=find.GetFileName();//获取下一个数据的文件名
        CFile::GetStatus( StrNextdataPath, StrNextStatus );//获取下一个数据的创建时间
        StrNextdataCtime=StrNextStatus.m_ctime.Format("%Y年%m月%d日%H时%M分%S秒");

//比较Status.m_ctime与StrNextStatus.m_ctime
        if(Status.m_ctime<StrNextStatus.m_ctime)      
        {
            tempname=StrNextdataName;     //下一个数据的文件名
            tempctime=StrNextdataCtime;
        }        
    }    
       m_DataEdit=tempname;//在Editbox中显示
    UpdateData(FALSE);

100 楼

楼主Help me.
vc2005怎样调试啊?
怎样才能生成调试信息?
我的工程属性已经是Debug和Win32
工程属性链接器里的生成调试信息也为yes了。
代码里也只用了iostream库。
是不是还有什么没有设置好?
希望楼主帮忙看看。

我来回复

您尚未登录,请登录后再回复。点此登录或注册