簡體   English   中英

一個 ”?” 在字符串之前

[英]a “?” before the string

我想使用字符串來輸入文件的路徑:

char** argv;
char* mytarget[2]={ (char*)"‪D:\\testlas\\BigOne.pcd",(char*)"‪‪D:\\testlas\\SmallOne.pcd" };
argv = mytarget;
for(int i=0;i<2;i++)
{
   std::cout << "m.name: " << argv[i] <<std::endl;
}

但是, cout 輸出:

m.name: ?‪D:\\testlas\\BigOne.pcd 
m.name: ?‪D:\\testlas\\SmallOne.pcd   

為什么有一個? 在弦之前?

我使用VS2017 C++11。

我創建了一個新程序並使用了代碼:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

int main()
{
    std::string test = "‪abc789";
    cout << test << endl;
    return 0; 
}

它還輸出"?abc789" 為什么?

std::string test = "abc789";

在開頭的引號"和第一個字母a (Unicode 字符U+202A或 UTF-8 E2 80 AA )之間有一個隱藏的LEFT-TO-RIGHT EMBEDDING字符。刪除它,例如通過刪除並重新鍵入該行,然后?將 go 帶走。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM