第 1 种字符串赋值方式:
char * fileName="./2017-09-02-10-34-10.xml";// 这一种字符串赋值方式已经被 ISO 禁止了
第 2 种字符串赋值方式:
- char str[] ="./2017-09-02-10-34-10.xml";
- char *fileName=str;
第 3 种字符串赋值方式:
- char fileName[] ={
- "./2017-09-02-10-34-10.xml"
- };// 有无大括号都可以
- warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
解决办法: 采用第 2 或 3 种字符串赋值方式
- int main(int argc, char *argv[])
- {
- char str[] = ""; // 先把 C++ 中的 string 常量复制给 C 语言形式的字符串变量, 再将 str 赋值给 char * 形式的 C 语言字符串.
- argv[2] = str;
- }
来源: http://www.bubuko.com/infodetail-2931791.html