【问题标题】:c++ char to const char* [duplicate]c ++ char到const char * [重复]
【发布时间】:2013-01-25 14:22:33
【问题描述】:
我需要将字符数组中的字符转换为const char *,以便使用 fstream 将其打印到文件中。我不确定该怎么做。我尝试将单个字符放入字符串中,然后使用c_str(),但这不起作用..
【问题讨论】:
-
-
等等,什么?您当然不需要需要将字符数组中的字符转换为const char * 以便使用fstream 将其打印到文件中。请share the code你到目前为止,让我们知道你看到的编译器错误让你相信这样的事情。
标签:
c++
char
type-conversion
constants
【解决方案1】:
如果要写单个字符,就用operator<<:
char arr[256] = "...";
fstream f(...);
f << arr[2];
您不需要将字符转换为 C 字符串。
【解决方案2】:
嗯...如果您有一个字符数组,则在传递给函数时已经衰减为char *。
如果你只需要一个字符:
char array[128]; // whatever - you want to extract the char from this
char s[] = { array[64], 0 };
然后使用s,它现在可以衰减为char *。
编辑:哦,我刚读到这个:
为了使用 fstream 将其打印到文件中
好吧,那就别费心把它转换成正确的 C 字符串了。 operator<< 知道它的工作,它也为 char 超载。