c++ 这个参数在命令行中是什么意思? |grep MATCH >zoutmatchess
c++ What does this argument mean in the command line? | grep MATCH >zoutmatchess
在命令行执行程序时,有三个参数,如下所示:
../../xinputa.txt ../../xinputb.txt | grep MATCH > aoutmatches
(这个命令是作为参数给我的)
在我的主程序中,我有:
int main(int argc, char *argv[]) {
double timenew = 0.0;
string data_filename = "";
string pattern_filename = "";
string timestring = "";
string outFileName = "";
ofstream cout;
Scanner in_scanner;
SMatch stringmatch;
CheckArgs(3, argc, argv, "datafilename patternfilename outfilename");
data_filename = static_cast<string>(argv[1]);
pattern_filename = static_cast<string>(argv[2]);
outFileName = static_cast<string>(argv[3]);
FileOpen(cout, outFileName);
cout << kTag << "Beginning executionn";
我有很多行看起来就像^
上面的那行我完成了我的主题。cc:
FileClose(cout);
这个信息只是给你一点背景知识。我只是想知道
这些参数符合我所要求的和这个参数的确切含义:
| grep MATCH >zoutmatchess
. ./. ./. ./. ./xinputa.txt xinputb.txt | grep比赛> aoutmatches
实际上,你的程序有这些命令行参数:
-
argv[0]
是您的程序名 -
argv[1]
指向../../xinputa.txt
-
argv[2]
指向../../xinputb.txt
部分| grep MATCH > aoutmatches
本身不是命令行参数。它的管道机制将程序输出定向到grep
的输入,并再次将该输出的结果重定向到文件名aoutmatches
| grep MATCH >zoutmatchess
不是给定给程序的参数列表的一部分,假设它是这样调用的:
./myProgram ../../xinputa.txt ../../xinputb.txt | grep MATCH > aoutmatches
|
是一个管道,它指示从前面命令输出到标准输出(标准输出,又名std::cout
)的输出应该被重定向到下面命令的标准输入(标准输入,又名std::cin
)。
>
也是对前面命令的stdout的重定向,但这次是指向令牌后面指定的文件。
因此你的代码行是这样做的:
用两个参数../../xinputa.txt
和../../xinputb.txt
启动myProgram
。同样以一个参数MATCH
启动grep
,然后将myProgram
的输出作为输入传递给grep
,最后将grep
的输出写入文件aoutmatches
。
grep
是一个命令,用于过滤包含特定字符串(MATCH
)的行。
因此,您只需要从argv
中获取前两个参数(包括索引为零的一个,这是程序名),并将结果不写入文件,而是写入std::cout
。
相关文章:
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 错误消息:使用"string* +="后"no match for 'operator+='"
- 在 Eclipse: "error: no match for 'operator='" 中获取错误消息
- 模板函数参数到模板函数的"candidate template ignored: could not match ..."
- 开放CV垫"Sizes of input arguments do not match"的问题
- 如何'Invalid conversion'和'no match for operator'更正这些 c++ 错误
- 为什么当我没有变量或其他任何命名的东西时"no match for 'operator==' "错误?
- 如何修复以下错误"no match for call to '(std::tr1::shared_ptr<_iobuf*>) (FILE*&)'"
- 为什么我收到以下错误:"no match for 'operator=='"?(带模板的嵌套类)
- 如何修复类函数"prototype does not match"和"cadidate is"错误
- 在命名空间内的类中使用带有运算符重载的字符串流时"no match for ‘operator>>’"
- 文本文件中的 grep 字符串,并将它们复制到 CMake 中的目录中
- MSVC:带函数的"error C2244: unable to match function definition to an existing declaration"是指专用模板类的类型别名
- 不使用系统Protobuf库时的"Protobuf compiler version doesn't match library version 3.6.1"
- 提升::访客操作员过载的变体"Error: no match for call to [...]"
- 如何修复C++中的"no match for operator+"?
- 运算符重载错误"no match for operator error"
- 引入 std::enable_if 后出现"No match"错误
- 是否有必要在Regex_search中使用.str()存储Match.suffix()
- c++ 这个参数在命令行中是什么意思? |grep MATCH >zoutmatchess