Sorry if this is off-topic.
 
Just wanted to check .... are std::string's defined to be null terminated?
 
I came across a web page that indicated they are, but you can find lots of misinformation on the web.
http://www.codeproject.com/string/cppstringguide2.asp
 
std::string's seem to be null terminated with the Microsoft vc7.1 and vc8 compiler, but I wanted to check if this is generally true according to the C++ standard.
 
I'm relatively new to stl and using std::string .... mostly have used C strings and MFC CStrings (which changed from vc6 to vc7.1?)
 
std::string strA = "ABC";
std::string strB = "DEF";
std::string strC = "GHI";
std::string strD = "JKL";
std::string strE = "MNO";
// Check if std::string's are null terminated
const char* pTest = strC.c_str();
for (int i = 0; i < 80; ++i) {
   printf("I: %2d  ch:%3d  %c\n", i, pTest[i], pTest[i]);
}
std::string testStrings[] = { "abc", "def", "ghi", "jkl" };
const char* p = testStrings[1].c_str();
printf("\n********************\n");
for (int i = 0; i < 80; ++i) {
   printf("I: %2d  ch:%3d  %c\n", i, p[i], p[i]);
}
printf("\n********************\n");
TIA,