如何扫描文件中的单词,然后在 C 编程中打印包含该单词的行?
我正在尝试找到一种方法来扫描文件以查找关键字,然后仅打印包含该单词的行。我的开始很艰难。这是我所拥有的:
#include <stdio.h>
void getDsk (void);
void getDsk ()
{
FILE* fp;
char result [1000];
fp = popen("diskutil list","r");
fread(result,1,sizeof(result),fp);
fclose (fp);
while(!feof(fp)) {
if(//line contains "Test".)
{
//show line.
}
}
}
int main(int argc, const char * argv[])
{
getDsk();
return 0;
}
编辑:这做了我需要的。
#include <stdio.h>
void getDsk (void);
void getDsk ()
{
printf("Your available Windows installations are:\n");
FILE* fp = popen("diskutil list","r");
char line[1024];
while(fgets(line, sizeof(line), fp))
{
if (strstr(line,"Microsoft"))
{
printf("%s", line);
}
// if line contains the text, print it
}
}
int main(int argc, const char * argv[])
{
getDsk();
return 0;
}