ChinaUnix.net
相关文章推荐:

linux 返回值

当函数是判断时,一般返回0作为false, 非0作为true 当返回值代表状态时,0表示成功是普遍认同的, 但非0的情况下,正负返回值有什么区别,看APUE时,有时候返回-1,有时又返回1 知道的朋友说一下自己的理解,谢了

by _nothing - C/C++ - 2014-03-25 11:50:35 阅读(2027) 回复(5)

相关讨论

刚用到system函数,要根据其返回值来做进一步操作,可是system的返回值并不等于其调用的程序的返回值,man了没看懂,后来在网上搜索了一下,终于看到了一个DX的理解,记录之。 引自: 原文 [color="#0000ff"]要分成两部分来说:  1,在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的.  2,对于system函数,返回值是由两部分...

by piginthetree - Linux文档专区 - 2009-07-22 13:55:00 阅读(1724) 回复(0)

共享内存的基本用法: shmget shmat 调用都没有问题 对shmat做了封装,示意代码如下 char* LinkShm(int shm_id, int flag) { char *shmptr; shmptr = shmat(shm_id,NULL,flag); return shm_ptr; } 然后调用返回的值,一直是错误的,调用代码如下: char* shmptr; shmptr = LinkShm(shm_id,0); 使用gdb调试发现,函数LinkShm()中的shmptr的值是对的,返回给调用者指针shmptr时shmat返回的64位地址,高位4字节给截断了...

by kelvin_yin - Linux环境编程 - 2012-06-29 09:31:25 阅读(2180) 回复(3)

在写一本shell中有这样一段,想进行数据库expdp 导出,但当导出出错时 $?仍然返回0, 应该如何修改呢 谢谢 su - oracle -c "expdp system/$DB_SYSTEM_PASSWD schemas=$schemas include=table directory=TEMP_DIR1 dumpfile="$schemas"_USER.dmp logfile=exp"$schemas"_USER.log" >> $logfile SQLPLUS_RET=$? if [ ${SQLPLUS_RET} -eq 0 ]; then echo "NOTE: Data exporting succeeded without error !" ...

by pjghost - Linux新手园地 - 2012-04-01 15:18:48 阅读(1187) 回复(1)

linux创建进程函数fork()正确调用一次的时候有两个返回值: 子进程返回:0 父进程返回:>0的整数(返回子进程ID号) 而错误的时候返回-1 而在介绍fork()函数时的应用例子一般都为以下结构:如下例: #include #include #include #include int main(void) { pid_t result; /*调用fork函数,其返回值为result*/ result = fork(); /*通过result的值来判断fork函数的返回情况,首...

by gdgn_526345 - 嵌入式开发 - 2012-10-10 13:02:19 阅读(7718) 回复(6)

之前提了几个问题。几位前辈也给了一些指教。 其实论坛里的基础教程什么的我都看过,shell编程的书也在看,不过可能是因为理解不够深刻的原因吧,还是有些混乱... 我看到的表示判断的方式是: test expression或者 [ expression ]。 刚才又在baidu里又看到了 [[ expression ]] 的用法。 之前blackold兄又提到判断不只有[ ]的方式,(())也可以。 我在while循环等处也经常看到 (())、[]、[[]]的交杂使用。但是却没有看到对这些格...

by yonka - Shell - 2013-01-04 15:08:52 阅读(1653) 回复(5)

open调用成功返回值是不是为0? read(filename,buffer,number),成功调用返回的值是不是读取的字节数number? write(filename,buffer,number),成功调用返回的值是不是写入文件的字节数number?

by wy200747055 - Linux环境编程 - 2012-06-12 12:54:19 阅读(7022) 回复(2)

最近在学linux的消息队列,在使用msgget函数后正常情况下返回值应该是“消息队列标识符”,但不知为何一直返回的是0,代码如下,请大虾们赐教!谢谢! #include #include #include #include #include int main(void) { key_t unique_key; int msgid; int status; char str1[] = {"test message:hello!"}; char str2[] = {"test message:goodbye...

by wangpeng168 - Linux环境编程 - 2009-11-27 16:36:45 阅读(4682) 回复(2)

请教:在linux shell中怎么获取最近执行过的进程的返回值啊? 也就是 C/C++ 中main() 函数的返回值 紧急!

by zenglj - Shell - 2007-01-10 16:03:25 阅读(4274) 回复(4)

我现在只知道Win32平台下C++语言保存函数返回值的寄存器是EDX:EAX,那在linux平台下呢?用gcc编译。

by chb79 - 内核/嵌入技术 - 2004-11-06 19:38:19 阅读(1087) 回复(1)

我现在只知道Win32平台下C++语言保存函数返回值的寄存器是EDX:EAX,那在linux平台下呢?用gcc编译。

by chb79 - 内核源码 - 2004-11-06 19:38:19 阅读(1518) 回复(1)