c_cpp
rockly89
这个作者很懒,什么都没留下…
展开
-
bool类型
C标准没有boolC++中是booljava中是boolean原创 2016-09-18 09:07:54 · 325 阅读 · 0 评论 -
负数究竟是如何取模的
http://ceeji.net/blog/mod-in-real/最近在一道 Java 习题中,看到这样的一道题:What is the output when this statement executed:System.out.printf(-7 % 3);正整数的取余运算大家都很熟悉,但是对于负数、实数的取余运算,确实给人很新鲜的感觉。于转载 2017-06-20 00:10:53 · 1901 阅读 · 0 评论 -
关于EOF的几个问题
1 如何输入EOFctrl + z in win or ctrl + d in linux2 阻塞式以及非阻塞式输入缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin.get() 就会检测输入缓冲区中是否有了可读的数据。cin.get() 还会对键盘上是否有作为流结束标志的 Ctrl+Z 或者 Ctrl+D 键原创 2017-04-06 11:49:13 · 531 阅读 · 0 评论 -
scanf中特殊的格式控制符
scanf fscanf,均从第一个非空格的可显示字符开始读起!scanf以空白字符为定界符,但如果输入的字符串是以其它字符为定界符的,那怎么办?比如要读取一串字符串,以回车结尾,就可以采用scanf("%[^\n]", ...);根据TCPL中的描述,[...] match the longest non-empty string of input charac转载 2017-03-13 00:09:29 · 2047 阅读 · 0 评论 -
c++中输出浮点数
flat a = 1;flat b = 3;cout cout ANSI C++里一个浮点型若是小数部分为0,直接输出必然是不带小数点的,例如float b=3;你若想输出3.0,输出代码要这样写:cout原创 2017-01-25 10:34:51 · 3549 阅读 · 0 评论 -
C++中的虚函数重载
在一次修改代码过程中踩的坑,下来研究了一下,发现C++中虚函数重载后会产生很多有意思的情况,在这里总结了一下。C++中有重载(overload)和重写(override)以及重定义这几个概念,1 overload:指的是相同作用域中的两个函数的函数名相同,但参数列表的个数、顺序、类型不同。而override指的是子类中重新定义的父类的虚函数。2 override:overload要求两原创 2017-02-19 12:23:13 · 14094 阅读 · 2 评论 -
fgets函数使用注意事项
对于fgets来说,'/n'是一个特别的字符,而'/0'并无任何特别之处,如果读到'/0'就当作普通字符读入。如果文件中存在'/0'字符(或者说0x00字节),调用fgets之后就无法判断缓冲区中的'/0'究竟是从文件读上来的字符还是由fgets自动添加的结束符,所以fgets只适合读文本文件而不适合读二进制文件,并且文本文件中的所有字符都应该是可见字符,不能有'/0'。转载 2017-01-09 21:56:55 · 1462 阅读 · 0 评论 -
foorbar
“英文单词foo,不同的字典对其解释相去甚远,一说来自中国“福”字的发音,又有解释为二战时期的一种武器。然而若把众多的解释放在编程领域,关于 foobar的说法是我认为最为贴切的解释。foobar又为foo-bar,其中bar是beyond all recognition的缩写,通俗点就是无法识别,一塌糊涂的意思。而foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团转载 2016-10-29 17:49:42 · 713 阅读 · 0 评论 -
单步调试 step into/step out/step over 区别
tep into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的(简而言之,越过子函数,但子函数会执行)。step out:当单步执行到子函数原创 2016-11-08 19:23:05 · 931 阅读 · 0 评论 -
C++项目中的extern "C" {}
在用C++的项目源码中,经常会不可避免的会看到下面的代码:123456789#ifdef __cplusplusextern "C" {#endif /*...*/ #ifdef __cplusplus}#end转载 2016-10-04 12:10:45 · 453 阅读 · 0 评论 -
open系统调用的O_CREAT和O_EXCL
O_CREAT If the file does not exist, it will be created. The owner (user ID) of the file is set to the effective user ID of the process. The group ownership (group ID)原创 2016-11-06 10:56:19 · 2059 阅读 · 0 评论 -
gcc与g++比较
作者:郭无心链接:https://www.zhihu.com/question/20940822/answer/69547180来源:知乎著作权归作者所有,转载请联系作者获得授权。一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确转载 2016-11-05 17:09:51 · 363 阅读 · 0 评论 -
gcc编译c++的选项以及gcc与g++编译c++代码的区别
$ gcc --help -x Specify the language of the following input files Permissible languages include: c c++ assembler none 'none' me原创 2016-11-05 11:09:18 · 1501 阅读 · 0 评论 -
android源码中的编译器
编译安卓源码时,编译链中的编译器路径位于androids源码中的prebuilts目录下,对于recovery下的c c++代码,一般是用其中的gcc和clang编译的原创 2016-09-27 10:36:58 · 1263 阅读 · 0 评论 -
snprintf()函数的返回值
The functions snprintf() and vsnprintf() do not write more than size bytes (including the ter‐ minating null byte ('\0')). If the output was truncated due to this limit then the return原创 2016-09-05 17:27:09 · 2909 阅读 · 0 评论 -
Linux内核源码--min,swap宏定义
Linux3.5的部分宏定义在Linux-3.5/include/linux/kernel.h的头文件中有定义一: 最大值和最小值相关的宏[cpp] view plain copy/* * min()/max()/clamp() macros that also do * strict type-checking..转载 2017-06-24 23:14:54 · 531 阅读 · 0 评论