我需要能够判断命令行中的最后一个参数是否用双引号括起来。如果它是双引号,我将它视为一个字符串。如果不是,我需要将其视为要打开的文件并获取字符串。默认情况下,Argv将获取双引号字符串并删除引号,因此我无法找到解决此问题的方法。
伪代码是这样的......
if(argv[argc-1] was called with surrounding double quotes){
//handle as string (I already have code to do this)
}
else{
//handle as filename (I already have code to do this)
}
答案 0 :(得分:2)
argv中的所有参数都是字符串。你可能最好重新考虑你的策略。尝试打开参数,如果失败则将其视为字符串。
或者,您可以在命令行中转义引号,它们将传递给您的应用程序:
$ program "\"this is a string\""
编辑:示例代码假设您使用的是Bash shell或类似的东西