gpt4 book ai didi

c++ - 如何将 c++ 变量的值传递给 hadoop HDFS 的 bash 系统命令?

转载 作者:行者123 更新时间:2023-11-28 05:22:44 27 4
gpt4 key购买 nike

我正在尝试传递从我的 hadoop 流的输入文件接收到的变量。输入文件包含视频的名称,例如:

输入文件.txt:

视频0001.mp4

我将输入的值存储在变量 key

int main (int argc, const char* argv[]){
string key;
string value ="1";
while(cin>>key) {
system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/Video0001.mp4 /home/master/Desktop/Extract_signature/BDs/");
system("mkdir /home/master/Desktop/Extract_signature/SIGN");
// ....
// ....
}
}

我的目标是用Key变量的值替换视频名称并运行系统命令

所以替换

system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/Video0001.mp4

system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/<Value of key> 

最佳答案

std::string(或std::ostringstream)构造system()的整个参数,并将其传递给system() 使用 c_str()结果函数:

std::string hadoopCmd = "/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/";
hadoopCmd += key;
system(hadoopCmd.c_str());

此版本对于其他类型的格式化比 std::string as key 更灵活:

std::ostringstream hadoopCmd;
hadoopCmd << "/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/"
<< key;
system(hadoopCmd.str().c_str());

关于c++ - 如何将 c++ 变量的值传递给 hadoop HDFS 的 bash 系统命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com