c - 자주 사용 하 는 문자열 변환 함수
이전 학습 에서 언급 되 지 않 았 던 함수 도 언급 되 었 다.
공부 한 후에 블 로그 마크 를 써 라.주로 c 언어 에서 자주 사용 하 는 문자열 변환 함수 입 니 다.
atof (문자열 을 부동 소수점 으로 변환) atoi (문자열 을 정수 로 변환) atol (문자열 을 성장 정수 로 변환) strtod (문자열 을 부동 소수점 으로 변환) strtol (문자열 을 성장 정수 로 변환) strtoul (문자열 을 부호 없 는 긴 정수 로 변환) toascii (정형 수 를 합 법 적 인 ASCII 코드 문자 로 변환) toupper (소문 자 를 대문자 로 변환)tolower (대문자 소문 자로 변환)
atof (문자열 을 부동 소수점 으로 변환)
관련 함수 atoi, atol, strtod, strtol, strtoul 헤더 파일 \ # include < stdlib. h > 정의 함수 double atof (const char * nptr);함수 설명 atof () 는 인자 nptr 문자열 을 스 캔 하여 앞의 빈 칸 문 자 를 건 너 뛰 고 숫자 나 양음 기 호 를 만 나 서 야 변환 을 시작 합 니 다. 그리고 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 에 야 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.인자 nptr 문자열 은 플러스 마이너스, 소수점 또는 E (e) 를 포함 하여 지수 부분 을 표시 할 수 있 습 니 다. 예 를 들 어 123.456 또는 123 e - 2.
변환 후의 부동 소수점 수 를 되 돌려 줍 니 다.추가 설명 atof () 는 strtod (nptr, (char * *) NULL 을 사용 한 결과 와 같 습 니 다.범례 / * 문자열 a 와 문자열 b 를 숫자 로 변환 한 후 추가 * /
#include<stdlib.h>
#include <stdio.h>
int main()
{
char *a = "-100.23";
char *b = "200e-2";
float c;
c=atof(a) + atof(b);
printf("c=%.2f", c);
return 0;
}
//
//c=-98.23
atoi (문자열 을 정형 수로 변환) 관련 함수 atof, atol, atrtod, strtol, strtoul 헤더 파일 \ # include < stdlib. h > 정의 함수 int atoi (const char * nptr);함수 설명 atoi () 는 인자 nptr 문자열 을 스 캔 하여 앞의 빈 칸 문 자 를 건 너 뛰 고 숫자 나 양음 기 호 를 만 나 서 야 변환 을 시작 합 니 다. 그리고 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 에 야 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.변환 후의 정형 수 를 되 돌려 줍 니 다.추가 설명 atoi () 와 strtol (nptr, (char * *) NULL, 10) 사용 하기;결 과 는 같다.범례 / * 문자열 a 와 문자열 b 를 숫자 로 변환 한 후 추가 * /#include<stdlib.h>
#include <stdio.h>
int main()
{
char a[]="-100";
char b[]="456";
int c;
c = atoi(a)+atoi(b);
printf("c=%d",c);
return 0;
}
//
//c=356
atol (문자열 을 성장 정수 로 변환)
관련 함수 atof, atoi, strtod, strtol, strtoul 헤더 파일 \ # include < stdlib. h > 정의 함수 long atol (const char * nptr);함수 설명 아 톨 () 은 인자 nptr 문자열 을 스 캔 하여 앞의 빈 칸 문 자 를 건 너 뛰 고 숫자 나 양음 기 호 를 만 나 서 야 변환 을 시작 합 니 다. 그리고 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 에 야 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.변환 후의 긴 정형 수 를 되 돌려 줍 니 다.추가 설명 atol () 과 strtol (nptr, (char * *) NULL, 10) 사용 하기;결 과 는 같다.범례 / * 문자열 a 와 문자열 b 를 숫자 로 변환 한 후 추가 * /#include<stdlib.h>
#include <stdio.h>
int main()
{
char a[] = "1000000000";
char b[] = "234567890";
long c;
c = atol(a)+atol(b);
printf("c=%d",c);
return 0;
}
//
//c=1234567890
gcvt (부동 소수점 수 를 문자열 로 바 꾸 고 반올림)
관련 함수 ecvt, fcvt, sprintf 헤더 파일 \ # include < stdlib. h > 정의 함수 char * gcvt (double number, size t ndigits, char * buf);함수 설명 gcvt () 는 인자 number 를 ASCII 코드 문자열 로 변환 하 는 데 사용 되 며, 인자 ndigits 는 표 시 된 자릿수 를 표시 합 니 다.gcvt () 는 ecvt () 와 fcvt () 가 다른 곳 에서 gcvt () 가 변 환 된 문자열 에는 소수점 이나 양음 기호 가 포함 되 어 있 습 니 다.변환 에 성공 하면 변 환 된 문자열 은 매개 변수 buf 포인터 가 가리 키 는 공간 에 놓 입 니 다.반환 값 은 문자열 지침 을 되 돌려 줍 니 다. 이 주 소 는 buf 지침 입 니 다.설명 을 덧붙이다#include<stdlib.h>
#include <stdio.h>
int main()
{
double a = 123.45;
double b = -1234.56;
char *ptr = NULL;
int decpt, sign;
gcvt(a,5,ptr);
printf("a value=%s
", ptr);
ptr=gcvt(b,6,ptr);
printf("b value=%s", ptr);
return 0;
}
//
// a value=123.45
// b value=-1234.56
strtod (문자열 을 부동 소수점 으로 변환)
관련 함수 atoi, atol, strtod, strtol, strtoul 헤더 파일 \ # include < stdlib. h > 정의 함수 double strtod (const char * nptr, char * * endptr);함수 설명 strtod () 는 인자 nptr 문자열 을 스 캔 하여 앞의 빈 칸 문 자 를 건 너 뛰 고 숫자 나 양음 기 호 를 만 나 서 야 변환 을 시작 합 니 다. 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 에 야 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.endptr 가 NULL 이 아니라면 조건 에 맞지 않 아 종 료 된 nptr 의 문자 포인터 가 endptr 에서 전 송 됩 니 다.인자 nptr 문자열 은 플러스 마이너스, 소수점 또는 E (e) 를 포함 하여 지수 부분 을 표시 할 수 있 습 니 다.예 를 들 어 123.456 또는 123 e - 2.변환 후의 부동 소수점 수 를 되 돌려 줍 니 다.추가 설명 참조 atof ().범례 / * 문자열 a, b, c 를 각각 10, 2, 16 진법 으로 숫자 로 변환 * /#include<stdlib.h>
#include <stdio.h>
int mian()
{
char a[]="1000000000";
char b[]="1000000000";
char c[]="ffff";
printf("a=%d
",strtod(a,NULL,10));
printf("b=%d
",strtod(b,NULL,2));
printf("c=%d
",strtod(c,NULL,16));
return 0;
}
//
// a=1000000000
// b=512
// c=65535
strtol (문자열 을 성장 정수 로 변환)
관련 함수 atof, atoi, atol, strtod, strtoul 헤더 파일 \ # include < stdlib. h > 정의 함수 long int strtol (const char * nptr, char * * endptr, int base);함수 설명 strtol () 은 인자 nptr 문자열 을 매개 변수 base 에 따라 성장 정형 수 를 변환 합 니 다.매개 변수 base 범 위 는 2 에서 36 또는 0 입 니 다.매개 변수 base 는 base 값 이 10 이면 10 진법, base 값 이 16 이면 16 진법 등 을 사용 합 니 다.베이스 값 이 0 일 때 는 10 진 변환 을 사용 하지만, '0x' 와 같은 선행 문 자 를 만나면 16 진 변환 을 사용 합 니 다.처음에 strtol () 은 인자 nptr 문자열 을 스 캔 하여 앞의 빈 칸 문 자 를 건 너 뛰 고 숫자 나 양음 기 호 를 만 나 서 야 변환 을 시작 합 니 다. 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.인자 endptr 가 NULL 이 아니라면 조건 에 맞지 않 아 종 료 된 nptr 의 문자 포인 터 를 endptr 에서 되 돌려 줍 니 다.변환 후의 긴 정수 값 을 되 돌려 줍 니 다. 그렇지 않 으 면 ERANGE 로 돌아 가 오류 코드 를 errno 에 저장 합 니 다.추가 설명 ERANGE 가 지정 한 변환 문자열 이 합 법 적 인 범 위 를 초과 합 니 다.범례 / * 문자열 a, b, c 를 각각 10, 2, 16 진법 으로 숫자 로 변환 * /#include<stdlib.h>
#include <stdio.h>
int main()
{
char a[]="1000000000";
char b[]="1000000000";
char c[]="ffff";
printf("a=%d
",strtol(a,NULL,10));
printf("b=%d
",strtol(b,NULL,2));
printf("c=%d
",strtol(c,NULL,16));
return 0;
}
//
// a=1000000000
// b=512
// c=65535
strtoul (문자열 을 부호 없 는 긴 정수 로 변환)
관련 함수 atof, atoi, atol, strtod, strtol 헤더 파일 \ # include < stdlib. h > 정의 함수 unsigned long int strtoul (const char * nptr, char * * endptr, int base);함수 설명 strtoul () 은 인자 nptr 문자열 을 매개 변수 base 에 따라 기호 가 없 는 긴 정수 로 변환 합 니 다.매개 변수 base 범 위 는 2 에서 36 또는 0 입 니 다.매개 변수 base 는 base 값 이 10 이면 10 진법 을 사용 하고 base 값 이 16 이면 16 진수 등 을 사용 합 니 다.베이스 값 이 0 일 때 는 10 진 변환 을 사용 하지만, '0x' 와 같은 선행 문 자 를 만나면 16 진 변환 을 사용 합 니 다.처음에 strtoul () 은 인자 nptr 문자열 을 스 캔 하고 앞의 빈 칸 문자열 을 건 너 뛰 며 숫자 나 양음 기호 에 부 딪 혀 서 야 변환 을 시작 합 니 다. 비 숫자 나 문자열 이 끝 날 때 ('/ 0') 변환 을 끝내 고 결 과 를 되 돌려 줍 니 다.인자 endptr 가 NULL 이 아니라면 조건 에 맞지 않 아 종 료 된 nptr 의 문자 포인 터 를 endptr 에서 되 돌려 줍 니 다.변환 후의 긴 정수 값 을 되 돌려 줍 니 다. 그렇지 않 으 면 ERANGE 로 돌아 가 오류 코드 를 errno 에 저장 합 니 다.추가 설명 ERANGE 가 지정 한 변환 문자열 이 합 법 적 인 범 위 를 초과 합 니 다.범례 참조 strtol ()
toascii (정형 수 를 합 법 적 인 ASCII 코드 문자 로 변환)
관련 함수 isascii, toupper, tolower 헤더 파일 \ # include < ctype. h > 정의 함수 int toascii (int c) 함수 설명 toascii () 는 인자 c 를 7 비트 의 unsigned char 값 으로 변환 하고 8 위 는 삭 제 됩 니 다. 이 문 자 는 ASCII 코드 문자 로 전 환 됩 니 다.반환 값 은 변 환 된 ASCII 코드 문자 값 을 되 돌려 줍 니 다.#include <stdio.h>
#include <ctype.h>
int main()
{
int a=217;
char b;
printf("before toascii () : a value =%d(%c)
",a,a);
b=toascii(a);
printf("after toascii() : a value =%d(%c)
",b,b);
return 0;
}
//
// before toascii () : a value =217(\331)
// after toascii() : a value =89(Y)
tolower (대문자 소문 자로 변환)
관련 함수 isalpha, toupper 헤더 파일 \ # include < stdlib. h > 정의 함수 int tolower (int c);함수 설명 은 인자 c 가 대문자 라면 해당 소문 자 를 되 돌려 줍 니 다.변환 한 소문 자 를 되 돌려 줍 니 다. 변환 하지 않 으 면 인자 c 값 을 되 돌려 줍 니 다.추가 설명 범례 / * s 문자열 의 대문자 를 소문 자로 변환 * /#include<ctype.h>
#include <stdio.h>
int main()
{
char s[]="aBcDeFgH12345;!#$";
int i;
printf("before tolower() : %s
",s);
for(i=0;i<sizeof(s);i++)
s[i]=tolower(s[i]);
printf("after tolower() : %s
",s);
return 0;
}
//
// before tolower() : aBcDeFgH12345;!#$
// after tolower() : abcdefgh12345;!#$
toupper (소문 자 를 대문자 로 변환)
관련 함수 isalpha, tolower 헤더 파일 \ # include < ctype. h > 정의 함수 int toupper (int c);함수 설명 은 인자 c 가 소문 자 이면 이 대 영 된 대문자 자 모 를 되 돌려 줍 니 다.변환 한 대문자 값 을 되 돌려 줍 니 다. 변환 하지 않 으 면 인자 c 값 을 되 돌려 줍 니 다.추가 설명 범례 / * s 문자열 의 소문 자 를 대문자 로 변환 * /#include<ctype.h>
#include <stdio.h>
int main()
{
char s[]="aBcDeFgH12345;!#$";
int i;
printf("before toupper() : %s
",s);
for(i=0;i<sizeof(s);i++)
s[i]=toupper(s[i]);
printf("after toupper() : %s
",s);
return 0;
}
//
// before toupper() : aBcDeFgH12345;!#$
// after toupper() : ABCDEFGH12345;!#$
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.