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 ...
随机推荐
- C++语法小记---自己实现Thread类
自己实现Thread类 在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 参考:https://b ...
- 7.20试机测 T3 阶乘之和 暴力AC题解
7.20试机测 T3 阶乘之和 暴力AC题解 题外话:此乃本蒟蒻发表的第一篇题解,大家多多关照,支持一下,谢谢 题面 3.阶乘之和(sum.pas/in/out) 问题描述: 给定一个非负整数 n, ...
- Git的忽略文件
*.iml.gradle.idea/local.properties/.idea/workspace.xml/.idea/libraries.DS_Store/build/captures.exter ...
- BUUCTF-web ikun(Python 反序列化)
正如本题所说,脑洞有点大.考点还很多,不过最核心的还是python的pickle反序列化漏洞 题目中暗示了要6级号,找了很多页都没看到,于是写了脚本 在第180页有6级号,但是价格出奇的高,明显买不起 ...
- 分布式锁-Redis方案
#!/usr/bin/env python # coding=utf-8 import time import redis class RedisLock(object): def __init__( ...
- 【评价指标】详解F1-score与多分类MacroF1&MicroF1
文章来自:一个宝藏微信公众号[机器学习炼丹术] 基本概念 首先,要背住的几个概念就是:accuracy,precision,recal, TP,FP,TN,FN TP:true positive.预测 ...
- PHP 超级全局变量讲解
PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ...
- PHP touch() 函数
定义和用法 touch() 函数设置指定文件的访问和修改时间. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 touch(filename,time,atime) 参数 描述 ...
- MySQL选错索引导致的线上慢查询事故
前言 又和大家见面了!又两周过去了,我的云笔记里又多了几篇写了一半的文章草稿.有的是因为质量没有达到预期还准备再加点内容,有的则完全是一个灵感而已,内容完全木有.羡慕很多大佬们,一周能产出五六篇文章, ...
- 电脑小知识:Windows 10是用什么语言写的?到底有多少行代码?
这是微软的内核工程师 Axel Rietschin在Quora的一个回答. Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Wi ...