<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[C2863490170的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/C2863490170</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; C2863490170]]></copyright><item><title><![CDATA[回车与换行字符]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/60867855</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/60867855</guid><author>C2863490170</author><pubDate>Wed, 08 Mar 2017 10:26:40 +0800</pubDate><description><![CDATA[0x0D回车字符
0x0A换行字符


在arm-linux下，写二进制文件，打开文件fp_wthdisk = fopen(file_pathname,"w");
把这段程序移植到vc++后，发现一旦向文件写入0x0A，前边就会自动加上0x0D
“wb格式写入一下”。




注意：回车和换行在不同环境下的意义不同，正如sleep（1）和Sleep（1）这两个函数的不同一样，]]></description><category></category></item><item><title><![CDATA[C++形参中const char * 与 char * 的区别]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/60743216</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/60743216</guid><author>C2863490170</author><pubDate>Tue, 07 Mar 2017 08:54:46 +0800</pubDate><description><![CDATA[在函数调用时，我们经常看见一个函数的接受参数为(const char *);

　　例如strlen()函数，它的定义为：
 size_t strlen(       const char *str);

　　那么将形参设置为const的到底有什么好处呢？网络上经常的回答是：这样将把形参限定为常量，使得我们不能修改它。总感觉这种说法似乎是明白了，但再仔细的想下，总觉得少点什么。

　]]></description><category></category></item><item><title><![CDATA[用 _findfirst 和 _findnext 查找文件(windows可用)]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/60734954</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/60734954</guid><author>C2863490170</author><pubDate>Tue, 07 Mar 2017 08:07:26 +0800</pubDate><description><![CDATA[这两个函数均在io.h里面。
首先了解一下一个文件结构体：
struct _finddata_t {
    unsigned    attrib;
    time_t      time_create;   
    time_t      time_access;   
    time_t      time_write;
    _fsize_t    size;]]></description><category></category></item><item><title><![CDATA[char *和char[]的初始化]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/60320191</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/60320191</guid><author>C2863490170</author><pubDate>Sat, 04 Mar 2017 09:22:55 +0800</pubDate><description><![CDATA[char* str1 = "abcd";

char str2[] = "abcd";




void reverse(char * input, int len){ ...}

实际操作时，不能采取str1的初始化形式




char* str1 ="abcd"

含义是先新建一个字符串，内容是abcd，然后str1是一个头指针，指向这个串。但是这个新建串是作]]></description><category></category></item><item><title><![CDATA[TCHAR]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59584144</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59584144</guid><author>C2863490170</author><pubDate>Thu, 02 Mar 2017 18:01:33 +0800</pubDate><description><![CDATA[因为C++支持两种字符串，即常规的ANSI编码（使用""包裹）和Unicode编码（使用L""包裹），这样对应的就有了两套字符串处理函数，比如：strlen和wcslen，分别用于处理两种字符串。


微软将这两套字符集及其操作进行了统一，通过条件编译（通过_UNICODE和UNICODE宏）控制实际使用的字符集，这样就有了_T("")这样的字符串，对应的就有了_tcslen这样的函数
]]></description><category></category></item><item><title><![CDATA[CString TCHAR互换]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59582571</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59582571</guid><author>C2863490170</author><pubDate>Thu, 02 Mar 2017 17:59:01 +0800</pubDate><description><![CDATA[CString－>TCHAR*的转化可以用函数GetBuff()

函数原型为：LPTSTR GetBuffer( int nMinBufLength );
CString str("CString");
 TCHAR* szMsg = new TCHAR[100];
 //其参数为CString字符串的长度
 szMsg = str.GetBuffer(str.GetLength()]]></description><category></category></item><item><title><![CDATA[控制台程序中使用CString]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59580963</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59580963</guid><author>C2863490170</author><pubDate>Thu, 02 Mar 2017 17:55:51 +0800</pubDate><description><![CDATA[1、更改project->setting->C/C++->Code Generation，选择Debug MulitiThreaded
2、添加头文件：
#include  或 #include
添加头文件时，如果也包含了，则要求在之前包含，否则出错。]]></description><category></category></item><item><title><![CDATA[_access()]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59110887</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59110887</guid><author>C2863490170</author><pubDate>Wed, 01 Mar 2017 16:45:18 +0800</pubDate><description><![CDATA[_access() 检验文件的模式
返回值:0表示允许访问，-1表示禁止访问。
函数原型：
int _access( 
   const char *path, 
   int mode 
);
另外有宽字符的：
int _waccess( 
   const wchar_t *path, 
   int mode 
);




mode value

Checks fil]]></description><category></category></item><item><title><![CDATA[char*和char[]用法区别]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59110440</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59110440</guid><author>C2863490170</author><pubDate>Wed, 01 Mar 2017 16:34:08 +0800</pubDate><description><![CDATA[char *s定义了一个char型的指针，它只知道所指向的内存单元，并不知道这个内存单元有多大，所以，当char *s = "hello";后，不能使用s[0]='a';进行赋值。
当用char s[]="hello";后，完全可以使用s[0]='a'；进行赋值，这是常规的数组操作。
若定义：
char s[] = "hello";
char *p = s;
也可以使用p[0] = 'a]]></description><category></category></item><item><title><![CDATA[memset用法]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59104430</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59104430</guid><author>C2863490170</author><pubDate>Wed, 01 Mar 2017 14:13:29 +0800</pubDate><description><![CDATA[void *memset(void *s, int ch, size_t n);

作用是在一段内存块中填充某个给定的值，它是对较大的结构体或数组进行清零操作的一种最快方法，如：

struct sample_struct

{

char csName[16];

int iSeq;

int iType;

};

对于变量

struct sample_s]]></description><category></category></item><item><title><![CDATA[MFC函数GetModuleFileName()：获得应用程序目录绝对路径]]></title><link>https://blog.youkuaiyun.com/C2863490170/article/details/59102258</link><guid>https://blog.youkuaiyun.com/C2863490170/article/details/59102258</guid><author>C2863490170</author><pubDate>Wed, 01 Mar 2017 13:22:27 +0800</pubDate><description><![CDATA[GetModuleFileName()得到模块的完整路径名，例如，你载入c:\windows\system32\a.dll，得到模块句柄h，则你可以用GetModuleFileName()得到h模块的完整路径名。


注：直接用LoadLibrary()或AfxLoadLibrary()载入dll，该函数返回值就是handle；如果你隐式载入dll,
 用GetModuleHandle("]]></description><category></category></item></channel></rss>