C에서 문자열을 정수로 변환

Jinku Hu 2023년10월12일
  1. C에서 문자열을 정수로 변환하는atoi()함수
  2. C에서 문자열을 정수로 변환하는strtol()함수
  3. C에서 문자열을 정수로 변환하는strtoumax()함수
C에서 문자열을 정수로 변환

이 기사에서는 문자열을 정수로 변환하는 C 프로그래밍 언어의 다양한 방법을 소개합니다. C에서atoi(),strtoumax(),strol()과 같이 문자열을 정수로 변환하는 몇 가지 방법이 있습니다.

C에서 문자열을 정수로 변환하는atoi()함수

atoi()함수는 C 프로그래밍 언어에서 문자열을 정수로 변환합니다. atoi()함수는 문자열 시작 부분의 모든 공백을 무시하고 공백 뒤의 문자를 변환 한 다음 숫자가 아닌 첫 번째 문자에 도달하면 중지합니다.

atoi()함수는 문자열의 정수 표현을 반환합니다.

atoi()함수를 사용하려면<stdlib.h>헤더를 포함해야합니다.

atoi()구문

int atoi(const char *str);

*str은 정수로 변환 할 문자열에 대한 포인터입니다.

atoi()예제 코드

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  int value;
  char str[20];
  strcpy(str, "123");
  value = atoi(str);
  printf("String value = %s, Int value = %d\n", str, value);

  return (0);
}

출력:

String value=123, Int value=123

C에서 문자열을 정수로 변환하는strtol()함수

strtol()함수는 C 프로그래밍 언어에서 문자열을 긴 정수로 변환합니다. strtol()함수는 후속 문자를 숫자의 일부로 변환 한 후 문자열 시작 부분의 모든 공백 문자를 생략하고 숫자가 아닌 첫 번째 문자를 찾으면 중지합니다.

strtol()함수는 문자열의 긴 정수 값 표현을 반환합니다.

atoi()함수를 사용하려면<stdlib.h>헤더를 포함해야합니다.

strtol()구문

long int strtol(const char *string, char **laststr, int basenumber);
  • *string은 긴 정수로 변환 할 문자열에 대한 포인터입니다.
  • **laststr은 변환이 중지되는 위치를 나타내는 포인터입니다.
  • basenumber는 범위가[2, 36]인 밑입니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  char str[10];
  char *ptr;
  long value;
  strcpy(str, " 123");
  value = strtol(str, &ptr, 10);
  printf("decimal %ld\n", value);

  return 0;
}

출력:

decimal 123

C에서 문자열을 정수로 변환하는strtoumax()함수

strtoumax()함수는 문자열의 내용을 지정된 밑수의 정수 형식으로 해석합니다. 공백이 아닌 첫 번째 문자까지 공백 문자를 생략합니다. 그런 다음 유효한 기본 정수 표현을 형성하기 위해 가능한 한 많은 문자를 취하고이를 정수 값으로 변환합니다.

strtoumax 假는 문자열의 해당 정수값을 반환합니다. 변환이 성공적으로 완료되지 않으면 이 함수는 0을 반환합니다.

strtoumax()구문

uintmax_t strtoumax(const char* string, char** last, int basenumber);
  • *string은 긴 정수로 변환 할 문자열에 대한 포인터입니다.
  • **last는 변환이 중지되는 위치를 나타내는 포인터입니다.
  • basenumber는 범위가[2, 36]인 밑입니다.

strtoumax()예제

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  char str[10];
  char *ptr;
  int value;
  strcpy(str, " 123");
  printf("The integer value:%d", strtoumax(str, &ptr, 10));

  return 0;
}

출력:

The long integer value: 123
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - C String

관련 문장 - C Integer