sscanf(str, "%d-%d-%d", &year, &month, &day)在c++中怎么代替
时间: 2024-02-13 12:03:25 浏览: 170
用C++编写显示年月日程序
可以使用stringstream来代替sscanf。以下是一个示例代码:
```c++
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string str = "2022-10-01";
int year, month, day;
stringstream ss(str);
char sep;
ss >> year >> sep >> month >> sep >> day;
cout << "year = " << year << endl;
cout << "month = " << month << endl;
cout << "day = " << day << endl;
return 0;
}
```
在上面的代码中,我们使用stringstream类将字符串"2022-10-01"转换为三个整数year、month和day,并使用sep变量来表示分隔符"-"。可以看到,stringstream类的使用方法与sscanf函数类似,可以根据格式化字符串将数据从字符串中提取出来。
阅读全文