c++知识点 2006-10-14 12:59
这是自己开发一个简易的监控系统时的所用到的知识点。
第一个问题
在网络传输数据时可以传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的更多相关文章
- 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 ...
- 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- ...
- 剑指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 则依次打印 ...
- 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画
[源码下载] 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 线性动画 - ColorAnimatio ...
- 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 ...
- 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 ...
- macOS 10.14 Mojave 开发环境配置Apache多PHP版本
第1部分:macOS 10.14 Mojave Web开发环境 在macOS上开发Web应用程序真是一种乐趣.设置开发环境有很多选择,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQ ...
- macOS 10.14 Mojave Apache设置:多个PHP版本
[18/6/2018更新]由于Homebrew/php点击在2018年3月底被弃用,并将所有PHP公式移动到Homebrew/core,我们已经重新设计了我们的指南,使用这个新的水龙头. 如果您过去一 ...
- 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 ...
- 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 ...
随机推荐
- k8s(00)入门知识介绍
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 k8s概念入门 目录 系列文章说明 k8s概念 ...
- 大型Java进阶专题(八)设计模式之适配器模式、装饰者模式和观察者模式
前言 今天开始我们专题的第八课了.本章节将介绍:三个设计模式,适配器模式.装饰者模式和观察者模式.通过学习适配器模式,可以优雅的解决代码功能的兼容问题.另外有重构需求的人群一定需要掌握装饰者模式. ...
- Spring Boot使用AOP的正确姿势
一.为什么需要面向切面编程? 面向对象编程(OOP)的好处是显而易见的,缺点也同样明显.当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录.性能监控等,如果采用面向对象编程的方法, ...
- http连接,缓存,cookie,重定向,代理
早期的HTTP协议使用短连接,收到响应后就立即关闭连接,效率很低: HTTP/1.1默认启用长连接,在一个连接上收发多个请求响应,提高了传输效率: 服务器会发送“Connection: ...
- 跟老刘学运维day01~谈红帽系统
第0章 谈红帽系统 1.Linux,是一套免费使用和自由传播的类Unix操作系统,其源代码完全开源: 开源:==>将程序与程序的源代码一起提供给用户的服务模式. 开源四大特点:低风险.高品质.低 ...
- scp的使用以及cp的对比
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- 使用ATOMac进行Mac自动化测试
ATOMac简介 atomac是一个支持在mac上做自动化的python库,GitHub地址如下: https://github.com/pyatom/pyatom 安装 # Python2 sudo ...
- Python之数据结构:列表、元组、字典、set
列表 列表里可以存储任意的数据类型.可修改的结构,用[ ]括起来表示或用函数list()构建. eg: y = [1,1.5,'hello',True] 列表还可以嵌套列表 eg: y = [1,1. ...
- .Net微服务实战之CI/CD
系列文章 .Net微服务实战之技术选型篇 .Net微服务实战之技术架构分层篇 .Net微服务实战之DevOps篇 .Net微服务实战之负载均衡(上) 相关源码:https://github.com/S ...
- try{}catch的隐藏(如何优雅的实现异常块)
在项目中,我们会遇到异常处理,对于运行时异常,需要我们自己判断处理.对于受检异常,需要我们主动处理. 但是繁琐的try{}caht嵌套在代码里,看着很不舒服,这里我们不讨论性能,就代码来讲,来看看如何 ...