考虑以下char *示例:
char* s = "\n";
如何将其转换为表示新行字符的单个字符,如下所示:
char c = '\n';
除了处理换行符之外,我还需要能够将任何前面带有转义字符的字符转换为char。这怎么可能?
答案 0 :(得分:9)
char c = *s;
有效。
字符串中的'\n'
只是源格式中的两个字符:编译后它是一个字符;所有其他逃脱角色都一样。
字符串"fo\111\tar"
在编译后有7个字符(源代码中可见6个字符'f'
,'o'
,'\111'
,'\t'
, 'a'
和'r'
)以及null终止符。)
答案 1 :(得分:3)
取消引用它:
char* s = "\n";
char c = *s;
答案 2 :(得分:2)
正如其他人所说,换行实际上只是内存中的一个字符。要从字符串指针获取单个字符,您可以像访问数组一样访问指针(当然,假设为指向的字符串分配了内存):
char* s = "\n";
char c = s[0];
答案 3 :(得分:1)
你的意思是什么?
char * s = "\n";
char c = *s;