摘要: 1、读入未知数目的输入 不知道具体有多少数值,只是要一直读数直到程序输入结束。使用的程序有: while( std::cin >> value ) { sum+=value; }2、写有参数的函数时,首要工作,就是要对传进来的所有参数进行合法性检查。而对于传出的参数也应该进行检查,这个动作当然应该在函数的外部,也就是说,调用完一个函数后,应该对其传出的值进行检查。 常用的检查语句有:if{}else{};switch{};3、文件结束符 windows系统下通过键入【ctrl】+【z】键来输入文件结束符; unix系统中,通常用【ctrl】+【d】键4、C++算术类型类型含义最小存 阅读全文
posted @ 2012-07-31 16:11 戊辰岁终 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 1.sem_open与sem_close与sem_unlink与sem_getvalue#include <stdio.h>#include <semaphore.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>int main( int argc, char ** argv ){sem_t* sem;intval;if( argc != 2 ){printf("请输入文件名!\n");exit( EXIT_FAILURE );}//!>&g 阅读全文
posted @ 2012-07-31 15:40 戊辰岁终 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 一.POSIX 有名信号灯所谓有名就是给一个类似句柄的key。1. 创建并初始化有名信号灯函数:sem_open#include <semaphore.h>sem_t * sem_open( const char *name, int oflag, mode_t mode, unsigned int val );参数:name:信号灯的名称oflag:选择创建或者打开一个现有的信号灯mode:权限位(进程中已经讲过,差不多)val:信号灯的初始值成功时返回指向信号灯的指针,出错时为SEM_FAILEDoflag可以取值为:0,O_CREAT(创建),O_CREAT | O_EXCL 阅读全文
posted @ 2012-07-31 15:37 戊辰岁终 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1.系统是否支持多线程如何知道我的系统是否支持多线程呢(POSIX标准)?有两种方法,一种方法是检查系统中的某些重要的头文件,如limits.h、unistd.h等;另外一种方法就是写一个简单的程序测试一下。由于前者比较复杂,所以一般采用后面的方法,即在程序中判断宏_POSIX_VERSION:·如果没有定义宏_POSIX_VERSION,那么肯定不支持多线程;·如果宏_POSIX_VERSION小于199506L,那么部分支持多线程;·如果宏_POSIX_VERSION大于等于199506L,那么完全支持多线程;注意:有些情况下_POSIX_VERSION的取值 阅读全文
posted @ 2012-07-31 12:55 戊辰岁终 阅读(497) 评论(0) 推荐(0) 编辑