发送 URL 时 chrome 中的奇怪字符

Weird character in chrome when sending URL

我在尝试打开 google-chrome 中的本地文件时遇到了一些问题,因为它在 google [=30] 中给了我一个奇怪的 URL =] 但在控制台中打印得很好。

这是我的代码:

int subId = 902 ;
system(("google-chrome "+localURL+"initialFr.html?id="+to_string(subId)).data());
std::cout << ("google-chrome "+localURL+"initialFr.html?id="+to_string(subId)).data() << std::endl 

这是我在控制台中得到的输出:

file:///home/lonni/Questionnaire/initialFr.html?id=902

这是我在 chrome 中得到的地址:

file:///home/lonni/Questionnaire/initialFr.html%3Fid=902

我在 ubuntu.

上使用 c++11(因此 .data()

你们知道这是从哪里来的吗?

提前致谢

file: URL 架构不支持 HTTP 架构参数传递。这些参数旨在由 HTTP 服务器解释。

如果需要传递参数,可以使用锚点,例如:

file:///home/lonni/Questionnaire/initialFr.html#902