輸入名、姓,輸出「名, 姓」格式(逗號+空格分隔)。
#include <iostream>
#include <string>
int main() {
std::string first, last;
std::cout << "Enter first name: ";
std::getline(std::cin, first);
std::cout << "Enter last name: ";
std::getline(std::cin, last);
std::string full = first + ", " + last;
std::cout << "Result: " << full << '\n';
}
#include <format>
#include <iostream>
#include <string>
int main() {
std::string first, last;
std::getline(std::cin, first);
std::getline(std::cin, last);
std::cout << std::format("{}, {}", first, last) << '\n';
}
#include <sstream>
#include <iostream>
#include <string>
int main() {
std::string first, last;
std::getline(std::cin, first);
std::getline(std::cin, last);
std::ostringstream oss;
oss << first << ", " << last;
std::cout << oss.str() << '\n';
}
#include <cstring>
#include <iostream>
int main() {
const int N = 40;
char first[N], last[N], full[2*N];
std::cin.getline(first, N);
std::cin.getline(last, N);
strcpy(full, first);
strcat(full, ", ");
strcat(full, last);
std::cout << full << '\n';
// 風險:緩衝區溢位、手動管理記憶體、不支援 Unicode
}
| 指標 | std::string | std::format | char[]+strcat |
|---|---|---|---|
| 安全性 | 高 | 高 | 低 |
| 可讀性 | 高 | 最高 | 低 |
| 效能 | 中 | 高 | 高(但危險) |
| 標準 | C++98 | C++20 | C89 |
std::format**,次選 std::string。std::string 或 ostringstream。strcat/sprintf 處理使用者輸入。