2013-02-10 12 views
0

Мне нужно преобразовать символ в массив символов в const char *, чтобы напечатать его в файл с помощью fstream. Я точно не знаю, как это сделать. Я попытался поместить единственный символ в строку, затем используя c_str(), но это не работает.C++ char to const char *

+3

Код был бы полезен? –

+3

Подождите, что? Вам, конечно, *** не нужно преобразовывать символ в массив символов в 'const char *', чтобы напечатать его в файле с помощью 'fstream'. Пожалуйста, [используйте код] (http://sscce.org/), который у вас есть, и сообщите нам, какая ошибка компилятора вы видите, заставляя вас верить в такую ​​вещь. – Johnsyweb

ответ

1

Hm ... Если у вас есть массив символов, который уже распадается на char * при передаче функции.

Если вам нужен только один символ:

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

затем использовать s, которые теперь могут распадаться на char *.

Edit: D'ой, я только что прочитал это:

для того, чтобы напечатать его в файл с помощью fstream

Ну, тогда не беспокойте преобразовав его к правильная строка C. operator<< знает свою работу, и она перегружена для char тоже.

2

Если вы хотите написать один символ, просто использовать operator<<:

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

f << arr[2]; 

Вам не нужно, чтобы преобразовать символ в строку C.