C++字符串的输入输出整理
最近在跟一门北大C++程序设计的慕课,openjudge上做到一道题,要求定义一种能够输入输出学生姓名,年龄,学号和学年成绩的类。比较特别的是输入的形式是以逗号隔开的一长串字符串。 我用的方法通过是通过了,但可能比较笨,主要使用getline获取指定字符之前的字符串,使用强制转换函数stoi()转换成数字。 #include <iostream> #include <string> #include <cstdio> #include <cstring> #include <sstream> #include <cstdlib> using namespace std; class Student { private: string m_name, m_id; unsigned m_age; double m_av, n[4]; public: void input() { string ts = {}; getline(cin, m_name, ','); //从流中获取姓名的字符串,遇到逗号结束 getline(cin, ts, ','); //从流中获取年龄的字符串 m_age = stoi(ts); //强制转化为整型赋给成员变量m_age getline(cin, m_id, ','); //从流中获取学号的字符串,赋给成员变量m_id for (int i = 0; i