C++ 从 char 类型中删除引号

C++ remove quote from char type

需要测试变量删除引号。怎么做?

char test[] = "\"C:\hello\"";

if(test[0] = '"')
{
 // test variable 0 index to blank
}

要删除字符数组中的一个字符,您需要用剩余的文本覆盖该槽。

原文:

+---+---+---+----+   
| " | C | : | [=10=] |  
+---+---+---+----+   
      |  
  +---+  Copy from original.
  |
  V  
+---+---+----+----+   
| C | : | [=10=] | [=10=] |  
+---+---+----+----+   

有关目标重叠时的复制,请参阅memmove

一个更简单的解决方案是对所有多字符文本及其方法使用 std::string

由于您使用的是 Windows,请调用 Windows API 中的 PathUnquoteSpaces 函数。

PathUnquoteSpaces(test);