我是一个C++的新手,但不是Java、C#、JavaScript和VB的新手。我正在使用Visual Studio 2010的默认C++控制台应用程序。
在尝试进行printf时,我得到了一些奇怪的字符。每次都不相同,这告诉我它们可能每次运行时都在不同的内存位置。
代码:
#include "stdafx.h"
#include <string>
using namespace std;
class Person
{
public:
string first_name;
};
int _tmain(int argc, _TCHAR* argv[])
{
char somechar;
Person p;
p.first_name = "Bruno";
printf("Hello %s", p.first_name);
scanf("%c",&somechar);
return 0;
}
cout
命令。如果要使用printf
命令并且需要输出字符串%s
,则需要使用p.first_name.c_str()
。但在 C++ 中请勿使用printf
命令。 - David Heffernan