当前位置: 技术问答>linux和unix
C++调用grep命令问题
来源: 互联网 发布时间:2016-09-12
本文导语: 小弟初学linux。遇见一问题。在liunx下grep一个字符串后,希望能够用C++讲grep到的字符串高亮显示在linux系统的界面中。我的思路是把获取到的内容作为一个数组元素,写一个函数,将这个数组作为参数,在函数内部 ...
小弟初学linux。遇见一问题。在liunx下grep一个字符串后,希望能够用C++讲grep到的字符串高亮显示在linux系统的界面中。我的思路是把获取到的内容作为一个数组元素,写一个函数,将这个数组作为参数,在函数内部 对他们进行字体颜色设置 然后调用输出。
主要是下面几个问题:
1C++中如何调用linux中的 shell命令。大概了解下是用system(""),不过system的返回值是什么
2如果取得返回值了,如果将其放入数组中,我的设想是用vector类模板,不过我不太会用,不知道该怎么写。
3数组参数的输出时直接用cout么
希望高手指教。C++代码该如何实现
主要是下面几个问题:
1C++中如何调用linux中的 shell命令。大概了解下是用system(""),不过system的返回值是什么
2如果取得返回值了,如果将其放入数组中,我的设想是用vector类模板,不过我不太会用,不知道该怎么写。
3数组参数的输出时直接用cout么
希望高手指教。C++代码该如何实现
|
恩,使用system,可以介绍你用这种方法就是
system("grep [comm] > file_path");
然后读取这个文件,当然grep输出是按照你的一开始的规范定义的,这样在后续的
scanf文件的时候也可以规范起来。
system("grep [comm] > file_path");
然后读取这个文件,当然grep输出是按照你的一开始的规范定义的,这样在后续的
scanf文件的时候也可以规范起来。
fp = fopen(szFileName, "r+");
if(fp == NULL)
return -1;
while(!feof(fp))
{
menset(szTmp,0x00,sizeof szTmp);
fgets(szTmp, 256, fp);
sscanf(szTmp, "%ld %ld %s %ld %ld %ld %ld",a,b,c,d,e,f,....);
//sscanf读出来的那些变量 就可以直接当做参数在这个循环里调用函数了。
}