我有这些字符串:
const char * date = "2001-02-03";
const char * id = "987654/3210";
我需要非常快速地转换为整数或长整数(对于id)。我需要翻译进行比较(对于数字strcmp()来说很慢)。我只有这个库:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
实施例: const char * date =“2001-02-03”; - &GT; int int_date = 20010203; const char * id =“987654/3210”; - &GT; long long_id = 9876543210;
怎么办?
答案 0 :(得分:0)
如果您有字符串,只需strcmp
比将其转换(解析)为另一种格式更快,然后进行比较。
但解析它的简单方法是:
const char * date = "2001-02-03";
int y, m, d;
int result = sscanf(date, "%d-%d-%d", &y, &m, &d);
if (result == 3)
{
// use them
}
(我建议我的代码作为样本)