【发布时间】:2013-11-04 12:20:25
【问题描述】:
我需要做的就是将输入的全名字符串解析为 3 个单独的名称,这样我就可以获取每个名称的首字母并打印它们。谁能指出我正确的方向?
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
string [parsed_output] = fullName.split(" ");
string firstName = parsed_output[0];
string middleName = parsed_ouput[1];
string lastName = parsed_output[2];
string fullName;
char firstLetter = firstName[0];
char middleLetter = middleName[0];
char lastLetter = lastName[0];
cout << "Enter your first name, middle name or initial, and last name separated by spaces: \n";
cin >> fullName;
cout << "Your initials are: " << firstLetter << middleLetter << lastLetter << '\n';
cout << "Your name is: " << firstName << " " << middleName << " " << lastName << '\n';
return 0;
}
【问题讨论】:
-
检查:stackoverflow.com/questions/5607589/… - 拆分名称后,继续遍历子字符串并为每个子字符串打印第一个字符,即如果
length() > 0打印subString[0]。如下面的答案所示,您也可以单独取名字。除非一次处理完整名称是绝对要求。 -
fullName未声明,您想在放入任何内容之前对其进行解析吗?我认为您首先需要一些基础知识。