
C++
文章平均质量分 53
chienchia
自在不成人,成人不自在
展开
-
C语言格式输入函数scanf()详解
scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数的一般形式scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”, 地址表列);其中,格式控制字符串的作用转载 2014-10-20 11:02:34 · 6709 阅读 · 1 评论 -
fatal error C1003:error C2061: 语法错误: 标识符“acosf”
当你在main函数中只写了两行代码:cout << "C++" << endl;return 0;但是当你运行时,发现出现了如下错误:1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“acosf”1>c:\program files (x原创 2014-11-26 10:18:47 · 9194 阅读 · 1 评论 -
VS2010下出现LINK:fatal error LNK1123:转换到COFF期间失败;文件无效或损坏
项目>>属性>>配置属性>>清单工具>>输入和输出>>嵌入清单,原来是“是”,改为“否”。如果要应用到所有项目,则按下面操作:双击或者右键选择属性:原创 2014-11-26 10:27:22 · 687 阅读 · 0 评论 -
rand()函数实现原理:线性同余法
关于“随机数”的产生有许多算法,但无论如何,都不可能产生真正的随机数,因为电脑程序是个确定状态转换机,一种输入必定产生一种确定的输出。 但要实现“不可预知”还是可以做到的,只需有“不可预知”的输入或者初始化就可以了,像系统时间,网络实时带宽,Cpu使用率等等都可以作为“不可预知”的量来初始化随机函数。产生整数rand的原理是: y=ax+b(mod n)其中,n一般是一转载 2014-11-21 20:14:45 · 15650 阅读 · 0 评论 -
C++中extern “C”含义深层探索
extern “C” 是一个双向都需要用到的语法表示,就是说在cpp引用c头文件,或者c引用cpp文件时都需要用到。但extern “C” 永远只能在cpp引用时出现,c引用时不允许存在。当cpp引用c中的函数时,需要在cpp使用的头文件中声明extern “C”,当c引用cpp中的函数时,需要在cpp使用的头文件中用extern “C”声明,这样编译器在编译时会对函数名进行特殊处理,以使其能够被转载 2014-11-27 19:38:34 · 561 阅读 · 0 评论 -
C++项目中的extern "C" {}
原帖地址:点击打开链接引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:123456789#ifdef __cplusplusextern "C" {#endif /*...*/ #ifdef __c转载 2014-11-28 09:18:52 · 549 阅读 · 0 评论 -
C语言输入带空格的字符串
用scanf("%s",array); 的话遇到空格就停止接收后面的字符了,那怎么才能接收带空格的字符串呢?1.用 gets() ,它可以接收带空格的字符串, 直到回车才结束输入char buf[80]={0}; gets(buf); //可以读取空格, 回车结束输入2.使用"%[^\n]" 也是可以接收输入一个带空格的字符串,直到回车结束接收char bu转载 2014-12-02 21:53:11 · 33127 阅读 · 4 评论 -
errno详解
NAME top errno - number of last errorSYNOPSIS top #include DESCRIPTION top The header file defines the integer variable errno, which i转载 2014-12-03 19:19:04 · 1808 阅读 · 0 评论 -
warning:this program uses gets(), which is unsafe
1. 在C语言编程中使用gets(), 编译时会出现如下警告:warning: this program uses gets(), which is unsafe.gets()不安全是因为你给了他一个缓冲区,但是你却没有告诉它这个缓冲区到底有多大,也不知道输入的内容到底有多大,输入的内容可能超出缓冲区的结尾,引起你的程序崩溃,使用fgets会好一些,因为你会指定它的缓冲区大小,如下面一段代原创 2014-12-03 15:09:29 · 7952 阅读 · 0 评论 -
标准IO之格式化输入和输出
1. 格式化输入返回值:三个函数的返回值一致,若成功,指定输入的项数,若输入出错或在任意变换前已到达文件结尾则返回EOF(1). scanf原型:int scanf(const char *restrict format, ...);最基础,从标准输入输入(2). fscanf原型:int fscanf(FILE *restrict fp, const char *re原创 2015-01-10 08:30:43 · 1363 阅读 · 0 评论 -
linux中I/O流中的全缓冲、行缓冲和无缓冲,简明实例演示
说到缓冲,缓存之类的术语,通常都会和执行效率联系到一起,在标准I/O库中提供缓冲的主要目的就是减少系统函数read和write的调用,从而能够减少系统CPU时间。标准I/O库的缓冲主要分为3种:全缓冲、行缓冲和不缓冲。笔者就3种缓冲写了一些示例,帮助理解。1、全缓冲全缓冲就是当输入或输出时,当缓冲区被填满了之后,才会进行实际的I/O操作。下面是一个将”hello world!“写入转载 2014-12-21 18:07:02 · 1813 阅读 · 0 评论 -
C语言变量声明加冒号的用法,位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域转载 2014-12-07 20:57:30 · 884 阅读 · 0 评论 -
C++文件后缀名
C++程序文件的额后缀与所运行的具体编译器有关,常见的有:.cc .cxx .cpp .cp .C .c++这几种后缀名没有区别,如果编译器支持的话,哪种后缀都是一样的,在C++ Primer上给出如下说明:Unix uses: C, cc, cxx, cGNU C++ uses: C, cc, cxx, cpp, c++Digital Mars uses:原创 2015-01-14 08:48:43 · 15262 阅读 · 0 评论 -
CSMA/CD如何检测链路忙与闲
CSMA/CD通过电缆中电压的变化来检测,当数据fa'shen原创 2014-10-16 09:40:27 · 1433 阅读 · 0 评论 -
C++中cout输出十六进制数
对于char型,它所表示的范围为-128~+127,原创 2014-10-12 21:10:16 · 38300 阅读 · 1 评论 -
C++中实现类似C中rewind函数功能
当文件指针没有指向末尾时,直接用seekg()原创 2014-10-12 20:13:05 · 2469 阅读 · 1 评论 -
C/C++中数组名作为函数形参
在C或者C++中求一个数组的大小的方法为sizeof(数组名) / sizeof(数组的第一个元素),对于int array[ ] = {1, 2, 3, 4, 5};数组的大小也就为sizeof(array) / sizeof(array[0])。但是对于如下程序,输出结果会怎么样呢?void sort(int arr[]){ cout << "sort函数中数组的大小原创 2014-05-26 15:34:29 · 7539 阅读 · 0 评论 -
C/C++中自增自减的前置和后置区别
11原创 2014-05-27 15:09:55 · 6002 阅读 · 0 评论 -
为什么long和int都是4字节
11原创 2014-05-26 20:09:41 · 15635 阅读 · 1 评论 -
C和C++中的引用和指针
引用&不是取地址的语义int m;int &n = m;//n既不是m的拷贝,也不是指向m的指针,n就是m它自己,就是一个别名引用&和指针的区别1. 引用在创建的同时必须初始化,即引用到一个有效的对象,而指针在定义的时候不必初始化,可以在后面的任何地方重新赋值2. 不存在NULL引用,引用必须与合法的存储单元关联,而指针则可以是NULL,如果把一个引用初始化为0cons原创 2014-05-27 19:44:39 · 798 阅读 · 0 评论 -
QString、string和C字符串相互转换
1. std::string转换成QSQString str = QString::fromStdString();原创 2014-06-18 11:53:45 · 19449 阅读 · 0 评论 -
C++中几种数据交换方法的效率对比
两个数据交换在编程中很常用,原创 2014-05-26 21:09:36 · 2688 阅读 · 3 评论 -
C++中string常用函数用法
转】http://blog.programfan.com/blog.asp?blogid=2797&columnid=3755basic_string::append 向string 的后面加字符或字符串。(比+=, push_back 更灵活)(1)向string 的后面加C-stringbasic_string& append( const value_t转载 2014-09-08 16:34:38 · 561 阅读 · 0 评论 -
Mac OS X中安装使用Boost库
相关地址:Boost库 MacPorts 在mac下,Xcode中建立的C++项目只包含STL库,如果要使用Boost库,需要进行安装以及导入。这里使用MacPorts来安装Boost,MacPorts是一个开源项目,其中集成了许多Mac系统常用的开源软件的自动安装,用来代替传统的命令行安装,简单易用。首先从MacPorts官网上下载最新版本转载 2014-10-08 09:36:39 · 1921 阅读 · 1 评论 -
Qt配置支持C++11
在.pro中添加CONIFG += c++11,不能写作大写的C++11原创 2014-10-08 10:42:23 · 3111 阅读 · 0 评论 -
ifstream ostream istream ostream 不能声明
当学习C++ IO时,有iostream的同时,还有istream,ostrream,有ifstream的同时,还有ifstream,原创 2014-10-11 08:40:42 · 1218 阅读 · 0 评论 -
getopt()函数解析
在需要命令行解析时,肯尼个都想到的是自己写,没有意识到已经有getopt函数,下面就介绍getopt函数: #include unistd.h> extern char *optarg; extern int optind, // 初始化值为1,下一次调用getopt时,从optind存储的位置重新开始检查选项。转载 2014-12-07 21:24:54 · 1334 阅读 · 0 评论