问题描述
我们可以通过 C++ 中的 argv
代码访问命令行参数,我知道。
但问题是,如果一个参数包含空格,那么我的程序就像有两个参数一样工作。
例如,如果参数是 foo bar
,我的程序会看到两个参数(foo
和 bar
)。
这是我的代码:
string strParameter = string(argv[1]);
那我该怎么办?
解决方法
这是由你的 shell 决定的,而不是你的程序。在大多数 shell 中,您可以通过将参数括在单引号和/或双引号中来解决此问题:
"foo bar"
'foo bar'
或者在空格前加一个特殊符号:
foo\ bar
-
foo^ bar
在 CMD 中(在 Windows 上)
好的,我自己解决了我的问题。
这是我的解决方案:
sentence = ""
while True:
word = input("Please enter your word:")
if word == "finish":
break
if [word] == sentence.split(' ')[:-1]:
break
sentence += word + " "
print(sentence)