- 博客(8)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
转载 linux下的stdout,stdin,stderr
stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一
2016-04-27 10:22:29 323
转载 C语言的setvbuf函数:设置文件流的缓冲区
头文件:#include 函数setvbuf()用来设定文件流的缓冲区,其原型为: int setvbuf(FILE * stream, char * buf, int type, unsigned size);【参数】stream为文件流指针,buf为缓冲区首地址,type为缓冲区类型,size为缓冲区内字节的数量。参数类型type说明如下:_IOFBF
2016-04-26 10:49:36 11140
原创 Ctrl+z和Ctrl+d在windows和unix/linux的区别
Windows系统一般采用阻塞式检查Ctrl+Z, unix和linux一般采用非阻塞式检查Ctrl+D阻塞式特点:1.只有按下回车后才检查输入中是否有Ctrl+Z;2.如果缓冲区中有了数据则不会检查Ctrl+Z3.Ctrl+z不是一个ASCII码值,不能存放在缓冲区中4.如果这样输入:abc(Ctrl+z)def 那么def会被阻塞无法进入缓冲区非阻塞式
2016-04-26 10:31:07 1395
转载 C语言中缓冲区的分类与刷新
缓冲区分为:全缓冲、行缓冲、不带缓冲。1.全缓冲:当缓冲区满时就会被自动刷新(不同系统的缓冲区大小不同,Windows的好像是4KB)2.行缓冲:举例getchar()函数,当程序调用getchar()函数时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar()函数才开始从键盘缓冲区中每
2016-04-25 21:36:32 1395
原创 C语言中scanf()和printf()的返回值问题
C语言中scanf()函数的返回值是成功赋值的变量的个数,假设: int a,b; scanf("%d, %d",&a,&b);如果你输入:m,30 scanf()函数首先为变量a赋值,而变量a是整形而你输入的是字符m,所以a没有被成功赋值,scanf()函数跳出,导致变量a,b均没有被成功赋值,scanf()返回值为0.如果你输入:30,m 那么scanf()函数的返回值就是
2016-04-22 20:30:27 1073 1
转载 强大的c/c++测试工具--lint简介
lint是最著名的C语言工具之一,是由贝尔实验室SteveJohnson于1979在PCC(PortableC Compiler)基础上开发的静态代码分析,一般由UNIX系统提供。中文名lint 提出者SteveJohnson 时 间1979 类 型C语言工具之一 目录1 基本功能2 系统版本3 PC-lint▪ PC-Lint简
2016-04-20 11:28:15 11746 3
转载 C中printf的输出格式类型和%g的用法
%g是C语言printf()函数的一个输出格式类型,它表示以%f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式 printf()输出格式类型说明: 输出类型 格式字符意义 a 浮点数、十六进制数字和p-计数法(C99) A 浮点数、十六进制数字和p-计数法(C99) c 输出单个字符
2016-04-20 10:33:42 38654
转载 ANSI c与C89,C99,C11的区别
不同版本标准差异总结(图片来源:http://www.crifan.com/summary_c_language_version_c89_amd1_c99_c11):以下为转载:【K&R C】 1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了《The C Programming Language》的第一版(按照惯例,经典著作一定有简称,该著作简
2016-04-20 10:18:53 4711
TA创建的收藏夹 TA关注的收藏夹
TA关注的人