---恢复内容开始---
问题:
编写程序连接两个 C 风格字符串面值,把结果存储在一个C 风格字符串面值。
代码:
#include <iostream> using namespace std; int main() { const char *pStr1 = "Hello "; const char *pStr2 = "World!"; size_t len = strlen(pStr1) + strlen(pStr2); char *result_str = new char[len + 1]; strcpy(result_str, pStr1); strcat(result_str, pStr2); cout<<result_str<<endl; delete []result_str; return 0; }
总结:
(1)动态数组,使用new表达式且有 [],必须使用delete表达式且有 []释放。
(2) strcpy和strcat第一个参数必须是数组指针。