0

我有这些字符串:

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"; -> int int_date = 20010203; 常量字符 * id = "987654/3210"; -> long long_id = 9876543210;

怎么做?

4

1 回答 1

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
}

(我建议我的代码只是一个示例)

于 2013-04-13T13:08:23.113 回答