有多种方法可以读取字符串'01:02'中的数字,以下是其中几种方法:

  1. 使用字符串流 stringstream:
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {
    string str = '01:02';
    stringstream ss(str);
    string token;
    getline(ss, token, ':');
    int hour = stoi(token);
    getline(ss, token, ':');
    int minute = stoi(token);
    cout << 'Hour: ' << hour << ', Minute: ' << minute << endl;
    return 0;
}

输出:

Hour: 1, Minute: 2
  1. 使用字符串迭代器:
#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = '01:02';
    string::iterator iter;
    int hour = 0, minute = 0;
    for (iter = str.begin(); iter != str.end(); iter++) {
        if (*iter == ':') {
            hour = stoi(string(str.begin(), iter));
            minute = stoi(string(iter+1, str.end()));
            break;
        }
    }
    cout << 'Hour: ' << hour << ', Minute: ' << minute << endl;
    return 0;
}

输出:

Hour: 1, Minute: 2
  1. 使用 sscanf 函数:
#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = '01:02';
    int hour = 0, minute = 0;
    sscanf(str.c_str(), '%d:%d', &hour, &minute);
    cout << 'Hour: ' << hour << ', Minute: ' << minute << endl;
    return 0;
}

输出:

Hour: 1, Minute: 2
C++ 从字符串 '01:02' 中提取数字的几种方法

原文地址: https://www.cveoy.top/t/topic/lAPX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录