c++实现,NowCoder每 天要给许多客户写电子邮件。正如你所知,如果- -封邮件中包含 多个收件人,收件人姓名之间会用一个逗号和空格隔开;如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。
时间: 2024-10-11 09:05:29 浏览: 26
在C++中,如果你需要编写一个程序来处理NowCoder发送含有复杂收件人格式的电子邮件,你可以创建一个函数,它接受一个字符串列表作为输入,然后按照指定规则构建电子邮件的收件人字段。这里是一个简单的示例:
```cpp
#include <vector>
#include <string>
std::string formatEmailRecipients(const std::vector<std::string>& recipients) {
std::ostringstream oss;
for (size_t i = 0; i < recipients.size(); ++i) {
if (i > 0) {
oss << ", ";
}
// 检查名字是否已经包含空格或逗号,如果是,则添加双引号
if (recipients[i].find(' ', 0) != std::string::npos || recipients[i].find(',', 0) != std::string::npos) {
oss << "\"" << recipients[i] << "\"";
} else {
oss << recipients[i];
}
}
return oss.str();
}
// 使用示例
int main() {
std::vector<std::string> recipients = {"John Doe", "Jane, Smith", "First Last"};
std::string formattedRecipients = formatEmailRecipients(recipients);
std::cout << "Formatted email recipients: " << formattedRecipients << std::endl;
return 0;
}
```
这个`formatEmailRecipients`函数首先初始化一个`ostringstream`,用于构建最终的字符串。然后遍历每个收件人,对每一个添加适当的分隔符,并检查名字是否需要加引号。最后返回处理后的字符串。
阅读全文