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_date = 20010203; const char * id = "987654/3210"; -> 長い 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 に答える