定义对应的宏,编译测试对应代码,建议自己手敲一遍。
/* ----------------------------------------------------- *
Ch1 字符串的使用
说明:引用书中代码,略有改动
* ----------------------------------------------------- */
// 通过宏选择编译代码段
#define Hello_world//Hello_friends//Hello_friends_Box
#if defined ( Hello_world )
/* ----------------------------------------------------- *
从Hello world!开始
* ----------------------------------------------------- */
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
/* ----------------------------------------------------- */
#elif defined ( Hello_friends )
/* ----------------------------------------------------- *
定义变量与交互
* ----------------------------------------------------- */
#include <iostream>
using namespace std;
int main()
{
cout << "Please enter your name:";
string name;
cin >> name;
cout << "Hello," << name << endl;
return 0;
}
/* ----------------------------------------------------- *
Please enter your name:Tom
Hello,Tom
Process returned 0 (0x0) execution time : 10.518 s
Press any key to continue.
* ----------------------------------------------------- */
#elif defined ( Hello_friends_Box )
/* ----------------------------------------------------- *
说明:
添加using namespace std;无需包含string头文件
书中有点小问题,已经修改
定义字符串的两种方式
相同字符的字符串,=(字符数目,字符);
字符串+字符串+...+字符串
* ----------------------------------------------------- */
#include <iostream>
using namespace std;
int main()
{
cout << "Please enter your name:";
string name;
cin >> name;
const string greeting = "Hello,"+name+"!" ; //'!'
const string spaces(greeting.size(),' ');
const string second = "* "+spaces+" *";
const string first(second.size(),'*');
cout << first <<endl;
cout << second <<endl;
cout << "* " << greeting << " *" <<endl;
cout << second <<endl;
cout << first <<endl;
return 0;
}
/* ----------------------------------------------------- *
Please enter your name:Tom
**************
* *
* Hello,Tom! *
* *
**************
Process returned 0 (0x0) execution time : 6.335 s
Press any key to continue.
* ----------------------------------------------------- */
#endif