- 论坛徽章:
- 0
|
int main()
{
FILE *read_fp;
char buffer[BUFSIZ+1];
int chars_read;
memset(buffer,'\0',sizeof(buffer));
read_fp = popen("ps -ax","r");
if (read_fp != NULL) {
chars_read = fread(buffer,sizeof(char),BUFSIZ,read_fp);
while (chars_read > 0) {
buffer[chars_read-1] = '\0';
printf("reading:- \n%s\n",buffer);
chars_read = fread (buffer,sizeof(char),BUFSIZ,read_fp);
}
pclose(read_fp);
exit(EXIT_SUCCESS);
}
代码是从书上看到的,只是才刚开始学,有个地方看不懂,找了资料也没有具体解决,想请各位大侠帮帮忙,
就是在while循环里面大于0,开始输出数据(printf)之前,为什么要buffer[chars_read-1]='\0',是不是\0是加在字符串末尾表结束的符号。如果是那这样子不就破坏了数据了吗,望高人指点。 |
|