0

我需要将字符数组中的字符转换为 aconst char *以便使用 fstream 将其打印到文件中。我不确定该怎么做。我尝试将单个字符放入字符串中,然后使用c_str(),但这不起作用..

4

2 回答 2

2

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

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

f << arr[2];

您不需要将字符转换为 C 字符串。

于 2013-02-10T08:25:28.330 回答
1

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

如果您只需要一个字符:

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

然后使用swhich now 可以衰减为char *.

编辑: D'oh,我刚读到这个:

为了使用 fstream 将其打印到文件中

好吧,那就不要费心将它转换为正确的 C 字符串。operator<<知道它的工作,它也超载char了。

于 2013-02-10T08:22:57.710 回答