C言語で文字列を数値に変換する方法は何ですか

C 言語にて文字列を数値に変換する手法には複数ありまして、そのうち一般的なものを以下に記します。

  1. atoi() 標準ライブラリ関数を使う:
#include <stdlib.h>

int main() {
    char str[] = "1234";
    int num = atoi(str);
    printf("%d\n", num); // 输出 1234
    return 0;
}
  1. sscanf() 標準ライブラリ関数を使用します。
#include <stdio.h>

int main() {
    char str[] = "5678";
    int num;
    sscanf(str, "%d", &num);
    printf("%d\n", num); // 输出 5678
    return 0;
}
  1. 標準ライブラリ関数strtol()を使用する:
#include <stdlib.h>

int main() {
    char str[] = "9012";
    long num = strtol(str, NULL, 10);
    printf("%ld\n", num); // 输出 9012
    return 0;
}

いずれの方法においても、数字に変換できない文字列の場合、結果は不定となります。これらの方法を使用する際には、変換できないケースを想定して、文字列内に有効な数値以外の文字が含まれていないことを確認する必要があります。

bannerAds