Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chuyển đổi chuỗi sang số và số sang chuỗi trong C


Vấn đề

Chuyển đổi giữa chuỗi (string) và số (number) trong C.

Giải pháp

Hai hàm chính:

  • sscanf() – Chuỗi → Số.
  • sprintf() – Số → Chuỗi.

Chuỗi sang số (sscanf)

sscanf(chuoi, "dinhdang", &bien...);

Ví dụ

#include <stdio.h>
int main() {
    char a[20] = "02 01 2010";
    int day, mon, yr;
    sscanf(a, "%d %d %d", &day, &mon, &yr);
    printf("Ngay = %d\n", day);
    printf("Thang = %d\n", mon);
    printf("Nam = %d\n", yr);
    return 0;
}

Kết quả

Ngay = 2
Thang = 1
Nam = 2010

Số sang chuỗi (sprintf)

sprintf(chuoi, "dinhdang", bien...);

Ví dụ

#include <stdio.h>
int main() {
    char a[50];
    int day = 2, mon = 1, yr = 2010;
    sprintf(a, "%d/%d/%d", day, mon, yr);
    printf("Hom nay la ngay: %s", a);
    return 0;
}

Kết quả

Hom nay la ngay: 02/01/2010