Используйте оператор << с указателем на символ - PullRequest
0 голосов
/ 07 сентября 2011

Оператор перегружен для <<, который интерпретирует char* как строку в стиле C. Если же char* указывает на один символ, как мне вывести его в поток?

Ответы [ 4 ]

7 голосов
/ 07 сентября 2011

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

1 голос
/ 07 сентября 2011
char x = 'a';
char *p = &x;
stream << *p;
1 голос
/ 07 сентября 2011
char c=42;//sadly I could not use my favourite constant 666
char* pc=&c;
cout << *pc;

0 голосов
/ 07 сентября 2011

В этом случае вам нужно перегрузить << для char (нет *) и разыменовать ваш char* перед использованием его в выражении.

...