C++ Primer Plus 第八章习题第四题答案:
我没有按照题目要求说的用strcpy 库函数,因为此库函数要求的形参与我的函数的实参对不上。也没有按照题目上说的stringy这个类,事实上,我真的查不到关于stringy的任何资料。
不过程序正常稳定运行。
#include<iostream>
#include<string >
using namespace std;
void set(string &str, const char * origin);
void show(const string &str, int n =1);
void show(const char * ch, int n=1);
int main() {
string beany;
char testing[] = "Roger is Handsome!";
set(beany, testing);
show(beany);
show(beany,2);
testing[0] = 'D';
testing[1] = 'u';
show(testing);
show(testing, 3);
return 0;
}
void set(string& str, const char* origin) {
str.resize(strlen(origin));//开辟内存,origin的长度字节
for (int i = 0; i < (int)strlen(origin);i++) {
str[i] = origin[i];
}
}
void show(const string& str, int n ) {
if (n < 0) {
n = 0;
}
for (int i = 0; i < n; i++) {
cout << str << endl;
}
}
void show(const char* ch, int n) {
if (n < 0) {
n = 0;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < strlen(ch);j++) {
cout << ch[j];
}
cout << endl;
}
}