- 博客(58)
- 资源 (6)
- 收藏
- 关注
原创 布尔类型
代码1:#include using namespace std;int main() { bool a = 3; bool b = 5; bool c = a + b; 1+ 1 = 2,2 非0, cout <<boolalpha<< "a + b " << c << endl;}运行结果如下:wangkai@ubunt
2012-05-31 11:01:26 560
原创 布尔型bool
代码1:#include using namespace std;int main() { bool a = 3; bool b = 5; bool c = a + b; 1+ 1 = 2,2 非0, cout <<boolalpha<< "a + b " << c << endl;}运行结果如下:wangkai@ubunt
2012-05-31 11:00:38 459
原创 关于enum的函数 问什么调不通
#include using namespace std;int main() { enum week { Mon = 5, Tue, Wed, Thu = 55, Fri, Sta, Sun }; week day = 6; cout << "day" << day << endl; }编译时遇到下面的问题: wangkai@ubunt
2012-05-31 10:44:10 376
原创 string()是什么意思啊 ???
#include using namespace std;int main() { for (int i = 1; i <= 10; ++i) { cout << string( 10 - i, ' ' ); for( char ch = 'A'; ch <= 64 + 2*i; ++ch ) cout << ch; cout
2012-05-31 10:18:22 2173
原创 字符型
字符和整形还是有区别的,最大的区别在于:输出方式上,字符型的输出不是整数,而是该整数所代表的ASCII码字符。代码:#include #include #include using namespace std;int main() { int a= 65; char b = 65; cout << a <<" "<< b<< endl;
2012-05-31 09:50:51 386
原创 c++/C 的用户手册
http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
2012-05-30 10:24:16 455
原创 顺序英文字母三角塔
#include #include #include using namespace std;int main(){ for( int i = 1; i <= 10; ++i ) { for(int j = 1; j <= 10 - i; ++j) cout << " "; for( int k = 1; k <= 2 * i - 1; +
2012-05-30 09:06:26 699
原创 打印倒三角
#include #include using namespace std;int main(){ for( int i =1; i <= 10; ++i ){ for( int j = 1; j <=i-1; ++j ) cout<<" "; for( int k =0;k < (19-2 * i ); ++k ) cout<<"M";
2012-05-29 20:58:41 602
原创 循环设计
1、直角三角形#include #include using namespace std;int main(){ for( int i =1; i <= 10; ++i ){ for( int j = 1; j <=i; ++j ) cout<<"M"; cout<<endl; }}运行结果如下: wangkai@ub
2012-05-29 20:48:46 373
原创 while循环式for循环的特例
#include #include using namespace std;int main(){ int i =1, sum = 0; for( ; i <= 100; ) sum += i++; cout << "for "<< "sum " << sum << endl; /*上面的代码又可以用下面的while*/ i = 1
2012-05-29 20:42:45 469
原创 do-while循环
在编程中,循环语句用的最多的是for循环,很少用do-while循环。 #include #include using namespace std;int main(){ int sum; do{ int i = 1; sum += i; i++; }while(i <= 100); cout << "sum is " << su
2012-05-29 20:33:02 378
原创 函数的声明和定义
#include using namespace std;void sphere();int main(){ sphere();}void sphere(){ double radius; cout<<"Please input radius : "; cin>>radius; if( radius < 0 ) retur
2012-05-29 19:51:18 299
原创 经由父进程向子进程传送数据
#include #include #include #define MAXLINE 100int main( void ){ int fd[2]; pid_t pid; char line[MAXLINE]; int n; if(pipe( fd ) < 0 ) printf( "pipe error!\n" ); if((pid
2012-05-29 19:18:25 1544
原创 捕捉SIGUSR1 SIGUSR2的简单程序
#include #include #include static void sig_usr( int signo );int main( void ){ if(signal( SIGUSR1, sig_usr ) == SIG_ERR) printf( "Can't catch SIGUSR1" ); if(signal( SIGUSR2, si
2012-05-29 18:48:00 1249
原创 线程清理处理程序
#include #include #include #include void cleanup( void *arg ){ printf( "cleanup : %s\n", (char *)arg );}void * thr_fn1( void *arg ){ printf( "thread 1 start\n" ); pthread
2012-05-29 18:13:59 490
原创 不正确的 pthread_exit参数
#include #include #include #include struct foo { int a, b, c, d;};void printfoo(const char *s, const struct foo *fp ){ printf( " %s\n", s ); printf( " structure at 0x%x\n", (
2012-05-29 10:55:16 892
原创 线程终止
#include #include #include void* thr_fn1( void * arg ){ printf( "thread 1 returning\n" ); return (void *)100s;}void * thr_fn2( void *arg ){ printf( "thread 2 returning\n" );
2012-05-29 08:32:11 331
原创 线程的概念及其创建
控制线程 ,简称线程。典型的UNIX进程可以看成只有一个控制线程:一个线程在同时只做一件事。有了控制线程后,在程序设计时成在同一时刻做不止一件事情。每个线程各自独立的任务。这种方法的有以下好处:1、简化异步事件代码2、多线程自动访问相同的存储空间和文件描述符3、吞吐量4响应时间。 #include #include #include pthread_t
2012-05-28 20:45:19 354
原创 进程关系
1、终端登录早期:哑终端:登录都经由内核中的终端驱动程序;2、网路登录区别:终端盒计算机之间的连接不是点对点的连接。所有的登录都经由内核的网络接口驱动程序(如以太网驱动程序)
2012-05-27 17:00:18 258
原创 时间以及执行所有命令行参数
#include #include #include #include static void do_cmd( char * );static void pr_times( clock_t, struct tms *, struct tms *);int main( int argc, char *argv[] ){ int i; setbuf
2012-05-26 21:03:07 518
原创 execl: Permission denied
在运行8-10的代码时,出现下面的错误。wangkai@ubuntu:~/Test$ ./a.out execl error!execl: Permission deniedwaitpid error!wangkai@ubuntu:~/Test$ 代码1#include #include #include #include #include
2012-05-26 16:56:39 2639 1
原创 关于exec的例子
回送所有命令行参数和所有环境字符串 程序清单:#include #include int main( int argc, char *argv[] ){ int i; char **ptr; extern char **environ; for( i = 0; i < argc; i++ ) printf( "argv[%d] : %s\n",
2012-05-26 15:43:13 1005
原创 为何要fork()两次来避免产生僵尸进程?
当我们只fork()一次后,存在父进程和子进程。这时有两种方法来避免产生僵尸进程:父进程调用waitpid()等函数来接收子进程退出状态。 父进程先结束,子进程则自动托管到Init进程(pid = 1)。 目前先考虑子进程先于父进程结束的情况: 若父进程未处理子进程退出状态,在父进程退出前,子进程一直处于僵尸进程状态。 若父进程调用waitpid()(
2012-05-25 15:01:34 488
原创 带优化和不带优化的setjmp 和longjmp函数
#include #include #include static void f1( int, int, int, int );static void f2(void);static jmp_buf jmpbuffer;static int globval;int main(void){ int autoval; register int re
2012-05-24 19:41:02 529
原创 终止处理程序
#include #include static void my_exit1(void);static void my_exit2(void);int main(void){ if(atexit(my_exit2) != 0 ) printf( "my_ext2 register failured!\n" ); if(atexit(my_exit1)
2012-05-24 16:45:43 501
原创 main函数
int main( int argc, char *argv[] )argv是指向各个指针所构成的数组。当内核执行C程序时,在调用main前先调用一个特殊的启动例程。可执行文件将此启动例程指定为程序的起始地址,这是由连接编译器设置的。 而链接编辑器则由C编译器cc调用的。内核启动例程从内核取得命令行参数和环境变量,然后为按上述方式调用main函数做好安排。 如果将启
2012-05-24 15:56:03 413
原创 临时文件
用mkstemp创建临时文件。 #include #include #include #include int main( int argc, char *argv[] ){ char temp[45] = "wangkaiXXXXXX"; int fd; if(( fd = mkstemp( temp ) ) < 0){ printf( "m
2012-05-24 15:41:01 312
原创 标准IO效率
1、用getc 和utc将标准输入复制到标准输出 #include #include int main(void){ int c; while((c = getc(stdin)) != EOF ) if (putc(c,stdout) == EOF ) printf( "output error!\n" ); if(ferror(stdi
2012-05-24 09:51:37 612
原创 递归降序遍历层次目录
关于path_alloc函数::::http://www.cnblogs.com/xiaoliyu/archive/2009/03/08/1406448.html #include #include #include #include #include #include /* function type that is called for each filename
2012-05-23 14:34:13 400
原创 文件长度
1、现今,大多数的UNIX 系统提供了st_blocksize和st_blocks。 其中,第一个是对文件IO较合适的块长度,第二个是所分配的实际512字节块的数量。 当我们将st_blocksize用于读操作时,读一个文件所需要的时间量最小。为了效率的缘故,标准IO库也试图以此读、写st_blocksize个字节。 文件中的空洞用ls命令显示的文件的长度 大于 du
2012-05-22 11:07:23 639
原创 chmod fchmod 系统调用
#include #include #include #include #include #define RWXRWXRWX (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH |S_IXUSR | S_IXGRP |S_IXOTH )int main(){ struct stat statb
2012-05-22 08:50:34 1037
原创 文件和目录
1、与一个进程相关联的ID 有6个或者更多。实际、有效、保存的设置。 设置用户ID 和设置组ID当执行一个程序文件时,进程的有效用户ID通常就是实际的用户ID,有效组ID通常就是实际的组ID。但是,可以在在文件模式字(st_mode)中设置一个特殊的标志,其含义是“当执行此文件时,将进程的有效用户ID设置为文件所有者的用户ID(st_uid)”。组,,,与此类似。 例如,若
2012-05-21 19:18:31 386
原创 Single UNIX Specification
Single UNIX Specification ( 单一UNIX规范 ) 是一组用来定义可以称为"UNIX"的计算机操作系统的标准的集合。 Single UNIX Specification是基于IEEE(电气和电子工程师协会)和Open Group的工作,由Austin Group发展和维护。[1] Single UNIX Specification是POSIX.1标准的超集,定
2012-05-21 17:04:50 762
原创 fcntl函数,,利用shell重定向在描述符上打开文件
一个很好的网址 :Linux C编程一站式学习http://learn.akae.cn/media/index.html 内核和用户空间都有缓冲机制。fcntl()可以改变已打开文件的性质。在unix环境高级编程的p64页上,对于指定的描述符打印文件标志 运行命令有几个地方太清楚。参考:http://learn.akae.cn/media/ch28s06.html ----
2012-05-21 16:19:59 703
原创 文件IO
按照惯例,UNIX系统shell 使用文件描述符0 与进程的标准输入相关联。。。。。这是各种shell 以及很多应用程序使用的惯例,而与内核无关。 在依从POSIX的应用程序中,幻数0 1 2 应当替换成符号常量 这些常量在 头文件中。运算符优先级搞错的话,很悲剧。在apue书的55页。测试将标准输入复制到标准输出的例子中。#include #include
2012-05-21 11:49:48 257
原创 关于源代码的使用
My Environment.===========================================================shunwang@shunwang-desktop:~$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ub
2012-05-20 11:16:10 728
原创 动态内存分配实例
例子1、#include #include int main(){ int *pi, *pi2; pi = ( int * )malloc( 10 * sizeof( int ) ); if( pi == NULL ) printf( " out of memory!\n" ); else printf( "malloc success!\n" )
2012-05-17 09:48:02 642
原创 结构的存储分配
这个很重要。编译器按照成员列表的顺序一个接一个的给每个成员分配内存,只有当存储成员时 需要满足正确的边界对其要求时,成员之间才可鞥出现填充的额外内存空间。 系统禁止编译器在一个结构的起始位置跳过几个字节来满足边界对其的要求,因此所有的 结构的起始存储位置 必须是结构 中边界要求最严格的数据类型所要求的位置。你可以在声明时 对结构的成员类表重新 排列,让那些读边界要求最严格的成员 首先出
2012-05-16 19:19:36 600 1
原创 结构的声明
在声明结构时,必须列出它包含的所有成员,这个列表包含每个成员的类型和名字。struct tag { membler-liset } varibale-lists; #include #include #include using namespace std;int main(){ struct SIMPLE { int a; char b; fl
2012-05-16 18:54:24 466
jdk1.7 (copy).0_80_part2.tar.gz
2018-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人