
C语言
ALEX__0805
这个作者很懒,什么都没留下…
展开
-
C语言三个输出的理解:perror ( )、puts()、printf()
puts():#include void main( void ){ puts( "Hello world from puts!" );}运行结果就是Hello world from puts!输出换行的话,就用 puts( "\n" ),因为put("\0")默认为换行,所以put("\0")= puts( "\n" )=printf( "\n" )转载 2015-01-28 11:59:08 · 2682 阅读 · 0 评论 -
java与C进行socket通信中的通信异常问题
java和c语言的socket通信中,经常会出现通信异常的问题。比如:java端做client的时候,发送信息到c的server端,但是却又不能收到server发回来的数据。其实原因是在JAVA中的.readline();函数中。请看函数解释: Reads a line of text. A line is considered to be terminated by any one of a l原创 2015-08-05 09:15:27 · 1943 阅读 · 0 评论 -
C++ 使用string的头文件和要求
在文件开头加上下面两行即可:#include <string>using namespace std;附带:加第二行的原因:c语言using namespace std什么意思string的配套函数:标准C++中的string类的用法总结转载 2015-08-09 23:00:27 · 5655 阅读 · 0 评论 -
文件写入或控制台输出显示:"烫烫烫烫"问题解决办法
本来不想写的,因为这个问题实在是太”low”了…但是想到还有好多跟自己一样被这么”low”的问题困扰的新手们,还是记录一下(其实百度一下就能解决):问题根源: 在windows平台下,ms的编译器(也就是vc带的那个)在 Debug 模式下,会把未初始化的栈内存全部填成 0xcc,用字符串来看就是”烫烫烫烫烫烫烫”,未初始化的堆内存全部填成0xcd,字符串看就是“屯屯屯屯屯屯屯屯”。说人话:定原创 2015-08-09 22:52:37 · 23714 阅读 · 0 评论 -
内存溢出的问题:Run-Time Check Failure #2 - Stack around the variable 'trans' was corrupted.解决方案
问题原因:数据越界!数组越界情况1: 定义了一个长度为5的数组int[] a = new int[5]; 那么你用a[0]到a[4]都不会越界,当你的数组下标大于5时,就会数组越界数组越界情况2: strcpy,sprintf之类的赋值函数在赋值的时候,目标内存空间不够大的时候就会出现这个问题。数组越界情况3: memset函数在使用的时候,放在while()循环里面使用。就可能会出现原创 2015-08-09 22:42:44 · 961 阅读 · 0 评论 -
C中实现进制转换
库函数里目前 只提供输出十进制(%d),十六进制(%x) ,八进制(%o)其他的进制可以用sprintf(),使用方法见连接。但是上述都不适用目标为二进制的转换。其实二进制(0101)一般情况是不需要的。但当需要的时候也可以自己根据算法:二进制与十进制的转化算法。自行编写函数实现原创 2015-08-09 21:59:46 · 534 阅读 · 0 评论 -
C做文件传输:接收的文件大小异常(大一些)的解决办法
最近再用c++搭建socket实现文件传输的时候遇到一个问题:接收到的文件大小总是要比源文件大一些。后来找了好久终于发现原来是fopen()函数的参数设置错误导致的。我传输用的是二进制流,但是flag却错误地设置成了”w”,换成”wb”后问题迎刃而解。首先看msdn上的fopen函数下有很多flag的说明。其中:“w”表示为文本文件。用则会把文件中的“0A”变为“0D0A”,因为某些文件系统认为原创 2015-08-09 22:17:41 · 1591 阅读 · 0 评论 -
C语言初级之strstr、strcmp
• strstr用于在一个父字符串中搜索特定子字符串,并返回该子字符串的指针。相当于java中的.indexOf()函数,都是对字符串的使用。 • strcmp函数则是用于对两个字符串的比较,把这两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。如: “A”<”B” “a”>”A” “computer”>”compare”。一般前者比后者大原创 2015-07-15 23:27:35 · 2066 阅读 · 0 评论 -
win7编译release版本在其他win7系统上运行报错:缺少msvcp120.dll
若目标电脑也是win7系统,那么直接在网上下载“Microsoft Visual C++ 2013 v12.0.30501”安装就可以了。其中64位则下载64位版本,32位则下载32位版本。若目标电脑是WindowsXP系统,则要早vs2013编译时,设定好静态库,编译版本为120xp等。但是我还是没搞定…原创 2015-07-15 17:51:52 · 1615 阅读 · 0 评论 -
错误:没有与参数列表匹配的 重载函数
CString str;str.Format("Fuck %d",count);//这句话报错m_static.SetWindowTextW(str):错误是: 2 IntelliSense: 没有与参数列表匹配的 重载函数 "ATL::CStringT::Format [其中 BaseType=wchar_t, StringTraits=StrTraitMFC>]" 实例转载 2015-04-22 14:22:35 · 48437 阅读 · 1 评论 -
MFC/C++/C中字符类型CString, int, string, char*之间的转换
本文主要借鉴了文章:string,CString,char*之间的转化,并在该文的基础上进行整理。有兴趣的朋友可以看一下原文。 - string,CString,char*之间的转化intint 转 CString: CString.Format(“%d”,int);int 转 char * 在stdlib.h中有个函数itoa() itoa的用法: itoa(i,num,10);原创 2015-08-05 12:37:12 · 2239 阅读 · 0 评论