我非常确定char
类型用于存储单个ASCII码字符,除非添加任何前缀。因此,考虑到这一点,我在需要的时候就使用<iostream>
或<string>
附带的std::string
类型。
如果我将"\n"
存储在std::string
中并打印它,它将被算作单个字符。这是否意味着我可以将字符串放入char
中,即使它看起来由两个字符组成?
发布于 2014-04-27 11:09:36
换行符是单个(通常为8位)字符。它在程序源代码中(以字符文字或字符串文字)由两个字符的序列\n
表示。
所以'\n'
是一个字符常量,表示单个字符,换行符。
另一方面(正如Paul Griffiths' answer指出的),"\n"
(使用双引号而不是单引号)是表示字符串值的字符串文字。该字符串由两个字符组成,一个是'\n'
换行符,另一个是标记字符串结尾的'\0'
空字符。
发布于 2014-04-27 11:08:41
字符串"\n"
是两个字符,'\n'
和'\0'
-因为C样式的字符串以空字符结尾,在本例中是隐式的-所以不能将其放入单个char
中。显然,您可以将'\n'
存储在单个char
中,但它将仍然是单个char
,而不是字符串。
https://stackoverflow.com/questions/23318918
复制相似问题