摘要: 为什么fflush(stdin)是错的首先请看以下程序:#include<stdio.h>int main( void ){int i;for (;;) {fputs("Please input an integer: ", stdout);scanf("%d", &i);printf("%d\n", i);}return 0;}这个程序首先会提示用户输入一个整数,然后等待用户输入,如果用户输入的是整数,程序会输出刚才输入的整数,并且再次提示用户输入一个整数,然后等待用户输入。但是一旦用户输入的不是整数(如小数或者 阅读全文
posted @ 2013-03-04 13:04 vanishfan 阅读(2880) 评论(0) 推荐(2) 编辑
摘要: 函数名: scanf功 能: 执行格式化输入用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("<格式化字符串>",<地址表>);scanf()函数返回成功赋值的数据项数,出错时则返回EOF。其控制串由三类字符构成:1。格式化说明符;2。空白符;3。非空白符;(A) 格式化说明符格式字符 说明%a 读入一个浮点值(仅C99有效)%A 同上%c 阅读全文
posted @ 2013-03-04 11:32 vanishfan 阅读(40407) 评论(3) 推荐(8) 编辑
摘要: 方法1:scanf("%[^\n]", XXXXXXX);方法2:C语言中的scanf函数输入字符串时,当遇到空格或回车时,认为字符串已经输入到结尾,但是如果开头输入一个空格,scanf还是会继续往下存储直到遇到第二个空格或回车。因此,要在字符串数组中输入空格,就不要使用scanf,使用gets()或c++的cin.getline()函数解决。 阅读全文
posted @ 2013-03-04 11:20 vanishfan 阅读(2786) 评论(0) 推荐(0) 编辑
摘要: 1.LINUX socket 在connect的时候发生 Operation now in progress 错误unsigned long ul = 1;ioctl( nSocket, FIONBIO, &ul ); //设置为非阻塞模式放到connect()后面.查找这类问题就打印strerror(errno)来查2.accept失败conn_fd=accept(listen_fd,(struct sockaddr*)&serv_addr,NULL))原因第三个参数应该是serv_addr长度的指针改为: int len = sizeof(struct sockaddr); 阅读全文
posted @ 2013-02-27 15:28 vanishfan 阅读(359) 评论(0) 推荐(0) 编辑
摘要: http://my.chinaunix.net/space.php?uid=20196318&do=blog&id=366042http://blog.endlesscode.com/2010/03/27/select-poll-epoll-intro/linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout 阅读全文
posted @ 2013-02-26 10:25 vanishfan 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 译者按: 本文是一篇介绍 GNU Make 的文章,读完后读者应该基本掌握了 make 的用法。而 make 是所有想在 Unix (当然也包括 Linux )系统上编程的用户必须掌握的工具。如果你写的程序中没有用到 make ,则说明你写的程序只是个人的练习程序,不具有任何实用的价值。也许这么说有点儿偏激,但 make 实在是应该用在任何稍具规模的程序中的。希望本文可以为中国的 Unix 编程初学者提供一点儿有用的资料。中国的 Linux 用户除了学会安装红帽子以外, 实在应该尝试写一些有用的程序。个人想法,大家参考。C-Scene 题目 #2多文件项目和 GNU Make 工具作者: 乔治 阅读全文
posted @ 2013-02-25 16:57 vanishfan 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字3。为什么会出现undefined reference to 'xxxxx'错误?首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有 阅读全文
posted @ 2013-02-25 16:55 vanishfan 阅读(858) 评论(0) 推荐(0) 编辑
摘要: Linux GCC常用命令1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 阅读全文
posted @ 2013-02-25 16:30 vanishfan 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。正文:首先,我引用了谭浩强先生编著的《C程序设计》上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅):[原文开始]可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:void Func(int array[3][10]);void Func(int array[][10]) 阅读全文
posted @ 2013-02-25 16:18 vanishfan 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 1 #!/bin/bash 2 #ulimit -s 2621400 3 #ulimit -c 2048000 4 #sleep 2 5 killall -9 ljyx_sghall_new 6 sleep 2 7 trap "" 1 2 3 24 8 nohup ../ljyx_sghall_new >> ../ljyx_sghall_new.log 2>&1&Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bi 阅读全文
posted @ 2013-02-25 13:09 vanishfan 阅读(1550) 评论(0) 推荐(0) 编辑