2013-02-10 140 views
0

我需要将字符数组中的字符转换为const char *以便使用fstream将其打印到文件中。我不确定如何去做。我试过把单个字符串放入一个字符串中,然后使用c_str(),但那不起作用。C++ char const char *

+3

该代码将很有用? – 2013-02-10 08:24:16

+3

等一下,什么?您当然不需要将字符数组中的字符转换为'const char *'以便使用'fstream'将其打印到文件中。请[分享代码](http://sscce.org/)到目前为止,让我们知道你看到了什么编译器错误,让你相信这样的事情。 – Johnsyweb 2013-02-10 08:25:27

回答

1

嗯......如果你有一个字符数组,当传递给函数时已经衰减到char *

如果你只需要一个字:

char array[128]; // whatever - you want to extract the char from this 
char s[] = { array[64], 0 }; 

然后用s现在可衰变成char *

编辑:为了使用fstream的将它打印到文件

好吧,那就不必将其转换为

: D'哦,我刚读这合适的C字符串。 operator<<知道它的工作,并且它也过载了char

2

如果你想要写一个字,只使用operator<<

char arr[256] = "..."; 
fstream f(...); 

f << arr[2]; 

你并不需要的字符转换为C字符串。