String literals
A string literal contains a sequence of characters or escape
sequences enclosed in double quotation mark symbols. A string literal
with the prefix L is a wide string literal.
A string literal without the prefix L is an ordinary or narrow
string literal.
The
type of a narrow string literal is array of char.
The type of a wide string literal is array of wchar_t.
The
type of a narrow string literal is array of const char.
The type of a wide string literal is array of const wchar_t.
Both types have static storage duration.
A null ('\0') character is appended to each string.
For a wide string literal, the value '\0' of type wchar_t is
appended. By convention, programs recognize the end of a string by
finding the null character.
Multiple spaces contained within a string literal are retained.
Use the escape sequence \n to represent a new-line
character as part of the string. Use the escape sequence \\ to
represent a backslash character as part of the string. You can represent
a single quotation mark symbol either by itself or with the escape
sequence \'. You must use the escape sequence \" to
represent a double quotation mark.
Outside of the basic source character set, the universal character names for letters and digits are allowed in C++.
char titles[ ] = "Handel's \"Water Music\"";
char *temp_string = "abc" "def" "ghi"; /* *temp_string = "abcdefghi\0" */
wchar_t *wide_string = L"longstring";This example illustrates escape sequences in string literals:
#include <iostream>
using namespace std;
int main () {
char *s ="Hi there! \n";
cout << s;
char *p = "The backslash character \\.";
cout << p << endl;
char *q = "The double quotation mark \".\n";
cout << q ;
}This program produces the following output: Hi there!
The backslash character \.
The double quotation mark ". char *mail_addr = "Last Name First Name MI Street Address \
893 City Province Postal code ";second causes
a compile-time error. char *first = "This string continues onto the next\
line, where it ends."; /* compiles successfully. */
char *second = "The comment makes the \ /* continuation symbol
*/ invisible to the compiler."; /* compilation error. */- Character types
- Source program character set
- The Unicode standard (C++ only)
- PFROPT compiler option in the ILE C/C++ Compiler Reference
- #pragma strings in the ILE C/C++ Compiler Reference
