wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码.unicode编码的字符一般以wchar_t类型存储.char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示. wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位[1],总之,wchar_t所能表示的字符数远超char型. 标…
一.问题的原因:VS2010默认采用宽字符UNICODE编码方式,定义了Unicode,因此相关的字符串必须为unicode字符串,而非ascii字符串. LPCWSTR中的W是宽字符的意思,是UNICODE,就是说不是传统的char这种单字节字符,而是一个字符占两字节.编译器把LoadImage解释成了LoadImageW,说明代码中某个地方定义了UNICODE开关,编译环境成了宽字节的,要把这个定义去掉. Win32 API也分2中版本, MessageBoxA / MessageBoxW,…
//定义一个结构体记录 struct group { CString text; //定义一个CString std::vector<tag_t> boudaries; std::vector<tag_t> charmfers; std::vector<tag_t> slots; }; struct AllFeats { std::vector<tag_t> maxBoudaries; struct group CurveGroup; }; 使用方法: //…
今天由于程序需要,需要将真彩色转换成增强色进行颜色匹配,上网搜了一下没搜到相应函数,于是研究了一下RGB16位的增强色,写了这个函数: public static int RGB16(int argb)        {            uint t = (uint)argb;//转uint便于移位            //argb共32位,AARRGGBB,RGB24只有后24位            //int r = t << 8 >> 24; //000000RR …
int CEnCryptionAndDeCryptionDlg::Byte2Hex(const unsigned char* input,unsigned long inLen, unsigned char* outPut,unsigned long* outLen) { static const char* num="0123456789ABCDEF"; unsigned ; unsigned char *p=outPut; ) { *outLen=inLen*; ; } ;i<…
第一种:利用赋值号直接赋值 ; string b = a; /* 错误.因为string是一个指针,存储的值是所指向的地址,而char型存储的是内容,所以不可以直接用赋值号赋值 */ const char* a = "hello"; string b = a; //正确 const char[] a = "hello"; string b = a; //正确 第二种:利用sting构造函数 查看一下string的构造函数: string(); string (con…
真是有意思: CString mess ;    mess = m_chLocalIP; 这样OK,但是写在一行就会报错 CString mess  = m_chLocalIP; //有问题…
最近用到CString类,转换成 char * 类型,下面介绍用法: 一.CString 和 LPSTR 转换: CString转换成LPSTR: 方法一:CString server; LPSTR lpStr = server.GetBuffer(0); server.ReleaseBuffer(0); 方法二:CString server; LPSTR lpStr = (LPSTR)(LPCSTR)server; LPSTR转换成CString: LPSTR lpStr = L"TestSt…
""" 十进制转换成n进制 例子: 100转换成8进制-----144 256除8 商32 余0 32除8 商4 余0 4除8 商0 余4 每次结果的余数进栈, 最后出栈 """ def decimal_conversion(num, base): if base <= 0: print("base error") return if not num: print(0) return if num < base:…
0. Intro 如下是在32位下的情况,32位下,只有三级页表:PGD,PMD,PTE 在64位情况下,会有四级页表:PGD,PUD,PMD,PTE 但是原理基本上是一样的,本文主要是想记录一下页表转换中的几个 基本概念宏:SHITF,SIZE,MASK以及之间的转换. 1. Linux虚拟内存三级页表 (本文以32位为主线) Linux虚拟内存三级管理由以下三级组成: PGD: Page Global Directory (页目录) PMD: Page Middle Directory (页…
网络上找到大神写的转换方法,不过就记下来,学习学习: 当然转成CImage之后就可以从CImage转换成HBITMAP 了 void DrawPic(CDC *pDC,char *buf,int len) { //内存数据转换成流 HGLOBAL hMem=GlobalAlloc(GMEM_FIXED,len); BYTE* pMem=(BYTE*)GlobalLock(hMem); memcpy(pMem,buf,len); IStream* pStream; HRESULT hr=Creat…
CString转换成char* :charSource = (char*)strSource.GetBuffer(0); 法2:charSource = (char*)strSource.GetBuffer(strSource.GetLength()); 法3:charSource = (char*)(LPCTSTR)strSource;…
string 是c++标准库里面其中一个,封装了对字符串的操作  把string转换为char* 有3中方法:  1.data  如:  string str="abc";  char*p=str.data();  2.c_str  如:string str="gdfd";       const char*p=str.c_str();  3.copy 比如  string str="hello";  char p[40];  str.copy(…
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Reflection;using System.Collections;using System.Data.Common; namespace DotNet.Utilities{    //JSON转换类    public class ConvertJson    {        #region 私有方法…
此文章参考<深入理解计算机系统>P31. 先看如下代码:  12345的十六进制表示为:0x00003039 #include <stdio.h> int main() { ; char *q = (char *)(&a); ; i < sizeof(a); ++i) printf("%.2x ", q[i]); ; } 输出为: a的地址是int*类型,其对象是int型的4字节的12345,当其强制转换成unsigned char*类型的q时,由…
  在MFC中使用sprintf()函数将CString转换成char[]时,char[]只接受第一个字符 使用的是VS2008 CString name;dbName="test";char cname[100];sprintf(cname,"%s",name); 执行完这个后cname只保存第一个字符,也就是t,郁闷...   [解决方法] CString是unicode编码 用 %S 试试…
/** * 将unsigned char数组转换成long long数值 * {0x00 0x00 0x20 0x00}转换之后得到8192 * * @param str 数组 * @param len str数组长度 * @returns 0 on error */ LONGLONG PNGProcesser::readCharToLL(unsigned char* str, int len) { ) { ; } ; ; ;i<len;i++) { value = value** + (str…
如a[5]="1234"转换成a[5]={0x12,0x34} 代码如下: void HexStrToByte(const char* source, unsigned char* dest, int sourceLen) { short i; unsigned char highByte, lowByte; for (i = 0; i < sourceLen; i += 2) { highByte = toupper(source[i]); lowByte = toupper(…
我们经常会使用C和C++的混合编程,在某些情况下,需要将C++的string,转换成char* 的字符串.下面说两种可行的方法,作为总结. 1. data(); 如: string str="abc";char*p=(char*)str.data(); 2.c_str(); 如: string str="adcd"; char *p=(char*)str.c_str(); 暂时就记这两种吧,简单而且差不多够用了.…
import java.util.Scanner; /*** * 1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg, 字符串内的其他字符不改变,给定函数,编写函数 void Stringchang(const char*input,char*output) 其中input是输入字符串,output是输出字符串 * * */ public class Test { public static void main(String[] a…
文章转载自http://blog.csdn.net/lanbing510/article/details/7425613 在Visual Studio 200X下,CString直接转换成const char* 有点困难,下面是自己用的一种可行方案: 从网上找了一些CString变量转换成const char*的方法,一种有效的办法是使用WideCharToMultiByte库函数进行转换.   将LPCTSTR转换为const char *,因为Unicode的问题,LPCTSTR     …
示例程序 // ---CodeBlob.h--- #ifndef CODEBLOB_H_ #define CODEBLOB_H_ class CodeBlob { private: const char* _name; int _size; public: CodeBlob(); void printName(); void printSize(); void setSize(int size); virtual ~CodeBlob(); }; #endif /* CODEBLOB_H_ */…
xml字符串:$simplexml 转换成Json格式:json_encode($simplexml) 转换成数组格式:json_decode(json_encode($simplexml),TRUE) 转换成对象格式:json_decode(json_encode($simplexml),FALSE) 解析: json_encode json_encode — 对变量进行 JSON 编码 格式:string json_encode ( mixed $value [, int $options…
CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程. 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择.如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi().你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制.八进制.十进…
使用POI导入Excel时,有时对模板进行验证,假如第1行第1列错误,此时的rowIndex=columnIndex=0,与平时看到的Excel行列标记相比不太直观,因此通过相应的算法将其转换成人们熟悉的Excel坐标,行不用说,+1即可,列标识转换方法如下: public static String toExcelColFlag(int index) { index++; int remainder = index % 26; StringBuffer sbf = new StringBuff…
因为前一段时间公司做项目的时候,用到了Excel导入和导出,然后自己找了个插件Epplus进行操作,自己将当时的一些代码抽离出来写了一个帮助类. 因为帮助类是在Epplus基础之上写的,项目需要引用Epplus.dll.自己基础不是很扎实,有问题的地方欢迎指导. 1.用法,默认excel第一列是头部信息. public class UserInfo : XlsRow { public int id { get; set; } public string username { get; set;…
今天发现用securecrt登陆时,gcc编译出错时会出现乱码,但直接在主机的窗口界面下用Shell编译却没有乱码.查看了一下当时的错误描述,发现它的引号是中文引号,导致在SecureCRT中显示出错: before numeric constant 在网上查了一下,可以通过修改LC_CTYPE=zh_CN.GBK解决这个问题,具体的方法有两个: 1. 通过export命令修改LC_CTYPE变量的值 tianfang > export LC_CTYPE=zh_CN.GBK    tianfan…
iconv简介(1.字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件)(2.编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有linux等) 一.总结 1.字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件. 2.编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有linux等. 二.iconv简介 1.百度 头文件"iconv.h".iconv命令可以将…
背景:刚刚学到java的String和StringBuffer类,遇到如标题所示的题. 要求:必须要用到String类的toUpperCase方法和toLowerCase方法 思路:用到StringBuffer类的动态添加方法append的方法 代码如下所示: //import java.util.Scanner; public class demo3 { public static void main(String[] args){ StringBuffer s1 = new StringBu…
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       select   dbo.f_IP2Int('192.168.0.11')   select   dbo.f_IP2Int('12.168.0.1')   --*/   CREATE   FUNCTION   [dbo].[f_IP2Int](   @ip   char(15)   )RETURNS   b…