首页 > 编程语言 > 详细

c++知识点 2006-10-14 12:59

时间:2019-06-07 18:01:23      阅读:94      评论:0      收藏:0      [点我收藏+]

这是自己开发一个简易的监控系统时的所用到的知识点。

第一个问题

在网络传输数据时可以传intfloatdoulechar,等包括结构体类型但是除类类型外。

在调试中要常用merry寄存器。

应用事例:在send函数中要用到const char FAR * 类型。它的原形

int send (

  SOCKET s,             

  const char FAR * buf, 

  int len,              

  int flags             

);

这个类型我们可以用一个结构体的事例来代替。

 

第二个问题

strlen函数时要注意。它遇到\0就结束。所以注意若求结构体,公用体等类型时用sizeof函数能得到具体大小,若所求字段不包含\0可以用strlen函数。这个\0表示数字0

 

第三个问题

怎样把一个cstring类型转换为string类型。解决方法:用一个用中间变量。首先定义一个char*变量。将cstring转换为char*型再将char*转换为string类型。如ctring cstr("sfsfsf");char *ch = (LPSTR)(LPCTSTR)cst;string str (ch);

 

第四个问题

char 数组付个string类时。再将新的一个string类付这个string类却无法付值。原因是。是数组过大,没有结束位使的string类无法得到新的string类的值。解决办法是去掉数组中不存在的空间。

例如:string filename = "\\config.xml";

       string fileNamePath = "";

//获取文件路径

       int k=0,i1=0;

       HMODULE hModle = GetModuleHandle("ServerControlInfo.exe");

       char modelPath[256],filePath[256];

       int modelLength = GetModuleFileName(hModle,modelPath,256);

 

       if (!hModle)

       {

              AfxMessageBox("没有服务器需要运行的文件,请确认!");

              return;

       }

       if (modelLength)

       {

              for (int i = modelLength ; i >= 0 ; i-- )

              {

                     if (modelPath[i] == ‘\\‘)

                     {

                            k = i;

                            break;

                     }

              }

       }

      

       for (int i = 0 ; i < k ; i++)

       {

              if (modelPath[i] == ‘\\‘)

              {

                     filePath[i1] = ‘\\‘;

                     i1++;

                     filePath[i1] = modelPath[i];

              }

              else

              {

                     filePath[i1] = modelPath[i];

                     i1++;

              }

       }

 

       filePath[i1] = 0; //////注意这个地方。这就是问题的关键所在不付结束位。那么后边的filename永远也付不了。

       fileNamePath = filePath;//这个地方把数组转为了string

 

       fileNamePath += filename;

c++知识点 2006-10-14 12:59

原文:https://www.cnblogs.com/lu-ping-yin/p/10988582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!