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

第一个问题

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

在调试中要常用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的更多相关文章

  1. Ubuntu LTS 系统学习使用体会和实用工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04

    Ubuntu LTS 系统学习体会和工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04 ubuntu入门必备pdf:http://download.csdn.net/de ...

  2. Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置

    Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置 http://henzhai.com/tech/2012/07/w520- ...

  3. 剑指offer19:按照从外向里以顺时针的顺序依次打印出每一个数字,4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

    1 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印 ...

  4. 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画

    [源码下载] 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 线性动画 - ColorAnimatio ...

  5. APPLE-SA-2019-3-25-2 macOS Mojave 10.14.4,Security Update 2019-002 High Sierra, Security Update 2019-002 Sierra

    APPLE-SA-2019-3-25-2 macOS Mojave 10.14.4, Security Update2019-002 High Sierra, Security Update 2019 ...

  6. VMWare 14.1 15 Pro 安装 macOS Mojave 10.14.1系统 遇到的问题解决方案

    安装环境 WIN10VMware Workstation Pro 15.0.0 Build 10134415工具准备1.VMware Workstation Pro 15.0.0 Build 1013 ...

  7. macOS 10.14 Mojave 开发环境配置Apache多PHP版本

    第1部分:macOS 10.14 Mojave Web开发环境 在macOS上开发Web应用程序真是一种乐趣.设置开发环境有很多选择,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQ ...

  8. macOS 10.14 Mojave Apache设置:多个PHP版本

    [18/6/2018更新]由于Homebrew/php点击在2018年3月底被弃用,并将所有PHP公式移动到Homebrew/core,我们已经重新设计了我们的指南,使用这个新的水龙头. 如果您过去一 ...

  9. Pairs Forming LCM 在a,b中(a,b<=n)(1 ≤ n ≤ 10^14),有多少组(a,b) (a<b)满足lcm(a,b)==n; lcm(a,b)=p1 ^ max(a1,b1) * p2 ^ max(a2,b2) *..........*pn ^ max(an,bn)

    转自:http://www.cnblogs.com/shentr/p/5285407.html http://acm.hust.edu.cn/vjudge/contest/view.action?ci ...

  10. macOS 10.14 Mojave Apache Setup: Multiple PHP Versions

    Part 1: macOS 10.14 Mojave Web Development Environment Developing web applications on macOS is a rea ...

随机推荐

  1. final总结

    final 1.类 不含任何子类,有父类(太监类):其中方法不能覆盖重写. 2.方法 最终方法,不能被覆盖重写. 3.局部变量 赋值后不能改变,只能赋一次值. 4.成员变量 <1>由于成员 ...

  2. springboot+redis做事件过期通知业务

    springboot+redis做事件过期通知 博主也是初次体验,不足之处多多指教 我的业务场景 系统管理员要给维护员分配巡查路口设施的工作,由于路口比较多,管理员不知道哪些路口已经被分配了,况且过了 ...

  3. 聊一聊Flutter的setState()

    Flutter 里面包含两种widget 一种可变的,一种不可变的: 在可变的widget中可以使用 setstate(){} 函数. 官方也给出了例子: _onClick(){ setState() ...

  4. 笨办法学Python 3|百度网盘免费下载|新手基础入门书籍

    点击下方即可百度网盘免费提取 百度网盘免费下载:笨办法学Python 3 提取码:to27 内容简介: 本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用. ...

  5. php 导出数据到excel类

    原文链接地址:http://www.oschina.net/code/snippet_212240_21885 标注:在使用时一定要屏蔽掉//$bodyVal = $this->charset( ...

  6. 容器centos7安装部署ansible

    容器centos7安装部署ansible centos镜像版本及ansible版本 centos:centos7.5.1804 ansible:2.9.11 启动容器并进入容器 docker run ...

  7. Python os.minor() 方法

    概述 os.minor() 方法用于从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field ).高佣联盟 www.cgewang.com 语法 minor ...

  8. PHP array_diff_ukey() 函数

    实例 比较两个数组的键名(使用用户自定义函数比较键名),并返回差集: <?phpfunction myfunction($a,$b){if ($a===$b){return 0;}return ...

  9. PHP import_request_variables() 函数

    import_request_variables() 函数将 GET/POST/Cookie 变量导入到全局作用域中.该函数在最新版本的 PHP 中已经不支持.高佣联盟 www.cgewang.com ...

  10. AT5200 [AGC038C] LCMs 莫比乌斯反演

    LINK:LCMs 随便找了道题练习了一下莫比乌斯反演 式子有两个地方化简错误 导致查了1h的错. 讲一下大致思路 容易发现直接做事\(n^2logn\)的. 观察得到数字集合大小为1e6. 可以设\ ...