我非常确定char
类型用于存储单个ASCII字符,除非添加任何前缀。因此,请注意我使用std::string
或<iostream>
附带的<string>
类型
我需要的时候。
如果我将"\n"
存储在std::string
内并打印出来,则会将其视为单个字符。这是否意味着我可以将字符串放在char
中,即使它看起来包含两个字符?
答案 0 :(得分:11)
换行符是单个(通常是8位)字符。它由两个字符的序列\n
在程序源(字符文字或字符串文字)中表示。
所以'\n'
是一个表示单个字符的字符常量,换行符。
另一方面(如Paul Griffiths' answer指出),"\n"
(带双引号而不是单引号)是字符串文字,表示字符串价值。该字符串由两个字符组成,一个'\n'
换行符和一个'\0'
空字符,用于标记字符串的结尾。
答案 1 :(得分:6)
字符串"\n"
是两个字符'\n'
和'\0'
- 因为C样式字符串由空字符终止,在这种情况下是隐式的 - 所以不,你不能适应它到一个char
。显然,您可以将'\n'
存储在一个char
中,但它仍然是一个char
,而不是字符串。