可能性のある重複:
単一の文字をintに変換する方法
Cの整数から文字へ
char
をint
に変換する方法を教えてください。
char c[]={'1',':','3'};
int i=int(c[0]);
printf("%d",i);
これを試してみると、49になります。
昔は、ほとんどのコンピューターがASCIIを使用していると想定できたので、
int i = c[0] - '0';
しかし、最近のユニコードでは、それは良い考えではありません。コードを非ASCIIコンピューターで実行する必要がある場合、それは決して良い考えではありませんでした。
編集:ハックのように見えますが、明らかにisが動作するように標準によって保証されています。 @Earwickerに感謝します。
標準関数atoi()
は、おそらくあなたが望むことをするでしょう。
「atoi」を使用した簡単な例:
#include <unistd.h>
int main(int argc, char *argv[])
{
int useconds = atoi(argv[1]);
usleep(useconds);
}