LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 765|回复: 6

请问这段话是什么意思?

[复制链接]
发表于 2007-1-10 17:10:23 | 显示全部楼层 |阅读模式
char command[256];
void main()
{
int rtn; /*子进程的返回数值*/
while(1) {
/* 从终端读取要执行的命令 */
printf( ">" );
fgets( command, 256, stdin );
command[strlen(command)-1] = 0;
if ( fork() == 0 ) {
/* 子进程执行此命令 */
execlp( command, command );
/* 如果exec函数返回,表明没有正常执行命令,打印错误信息*/
perror( command );
exit( errorno );
}
else {
/* 父进程, 等待子进程结束,并打印子进程的返回值 */
wait ( &rtn );
printf( " child process return %d\n",. rtn );
}
}
}



中的
command[strlen(command)-1] = 0;
是什么意思呢?始终理解不了?有谁知道吗?
发表于 2007-1-10 17:27:58 | 显示全部楼层
字符串必须以0结尾。
回复 支持 反对

使用道具 举报

发表于 2007-1-10 17:32:35 | 显示全部楼层
将输入字符串最后的 '\0' 改为 '0'
回复 支持 反对

使用道具 举报

发表于 2007-1-10 17:41:49 | 显示全部楼层
Post by sssslang
将输入字符串最后的 '\0' 改为 '0'

反了......
回复 支持 反对

使用道具 举报

发表于 2007-1-11 11:17:15 | 显示全部楼层
'\0'和0是一个东西。
回复 支持 反对

使用道具 举报

发表于 2007-1-12 16:06:13 | 显示全部楼层
可理解成 去掉命令结束的标志

当结束标志不是一位怎么办?
回复 支持 反对

使用道具 举报

发表于 2007-1-12 16:39:43 | 显示全部楼层
'\0'是字符串结束标志,LS应该复习一下C语言了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表