如何打开用户在命令行中指定的文件?

时间:2013-12-05 08:27:20

标签: c++

假设您要允许用户指定要在命令行上打开的文件。如果用户输入如下数据,如何实现这一目标:

/User/desktop/input.txt

如何将此目录转换为程序实际打开/读取的内容?

4 个答案:

答案 0 :(得分:1)

参数argc包含命令行参数的计数。如果你没有传递任何参数,则为1(argv[0]只是你的可执行文件的名称)。否则它的命令行参数计数+ 1。

#include <fstream>

int main (int argc, char **argv){
  if(argc>1){
    std::ifstream a(argv[1]); // first argument
    if(a){
      //file opened
    }
  }
}

要启动此程序,您可以在命令行上输入:

nameOfYourExecutable.exe /User/desktop/input.txt

有关更多信息,另请参阅here

答案 1 :(得分:1)

std::ifstream就是这样。

std::ifstream file(your_file_path);

if (!file) { return; } // check the file 

std::string line;
while (getline(file, line)) { /* do some process on line */ }

答案 2 :(得分:0)

只需open("path",permissions,flags)就可以了。你可以使用文件描述符进行读写。

答案 3 :(得分:0)

如果从命令行参数中获取它,或者在程序中对其进行硬编码,那么它的干扰是什么? 只需使用open()。