如何在C++中使用具有文件名的变量(如bash中的$1、$2)

How to take variables with file name in C++ (like $1,$2 in bash)

本文关键字:中的 bash 变量 文件名 C++      更新时间:2023-10-16

在终端中运行bash脚本时,$1将表示程序之后输入的值。

示例:键入(bash脚本(

#!/bin/bash
echo "You typed: " $1

当你在终端中输入"./typed something"时,你会得到"you typed:something(你键入了:something("的回复。

我想知道如何进行"./a.out测试",并让测试成为std::string用户输入的值

我的代码:

#include <iostream>
std:string userinput;
int main() {
    std::cout << "You typed: " << userinput << "n";
    return 0;
}

当您声明主函数时,请按如下方式声明它:

int main(int argc, char* argv[]) {
    // your code here
}

这些是在程序运行时传递给程序的参数。Argc是参数计数,是传递给程序(包括可执行文件(的参数数。argv是一个数组,其中包含提供给程序的参数。

例如:

./myprogram.out file1.txt file2.txt
argv[0] = "./myprogram.out"
argv[1] = "file1.txt"
argv[2] = "file2.txt"

是的,它是argv[1]

#include <iostream>
int main(int argc, char *argv[])
{
    std::cout << "You typed: " << argv[1] << "n";
    return 0;
}
#include <iostream>
int main(int argc, char* argv[])
{
    if (argc > 1) {
        std::cout << "You typed: " << argv[1] << std::endl;
    }
    return 0;
}

如果您想要更复杂的控制,请尝试boost::program_options