isascii
아스키 문자라면 0이 아닌 값을 반환하고 아스키 문자가 아니라면 0을 반환하도록 함.
함수원형
int ft_isalnum(int c)
리턴값
- 아스키 문자라면 0이 아닌 값을 반환하고 아스키 문자가 아니라면 0을 반환하도록 함.
#include "libft.h"
int ft_isascii(int c)
{
if (c >= 0 && c <= 127)
return (1);
return (0);
}
참고 사이트
isascii() 구현하기
C언어 라이브러리 만들기 시리즈는 C언어 표준 라이브러리의 함수와 자주 사용하는 함수를 직접 구현하는 시리즈입니다.
velog.io
isprint
함수원형
int ft_isprint(int c)
리턴값
- 아스키코드에서 출력 가능한 문자이면 1을 아니면 0을 리턴
- 공백은 출력 불가능함 문자임
- 아스키 코드에서 출력 가능한 문자 33~126
그런데 공백도 포함해야 해서 32~126으로 해야함
#include "libft.h"
int ft_isprint(int c)
{
if (!(c >= 32 && c <= 126))
return (0);
else
return (1);
return (0);
}
참고 사이트
# 아스키 코드 ( ASCII Code ) 설명 및 출력 코드
# 아스키 코드 ( ASCII Code ) 설명 및 출력 코드
1. 정의 ASCII - ( American Standard Code for Information Interchange, 미국 정보 교환 표준 부호 ) 아스키코드는 미국 ANSI(미국 국가표준 협회)에서 표준화한 정보 교환용 7비트 부호체계입니다. 2. 용도 영문 알
domybestinlife.tistory.com
memset
함수원형
void *ft_memset(void *b, int c, size_t len);
- 첫 시작 주소를 받기 위해 dest 즉, 메모리 시작 주소
- void 자료형: 자료형을 가진 포인터변수는 자료형에 관계없이 주소값을 대입할 수 있다.
- value 메모리에 채우고자 하는 값 int형으로 받고 메모리에 채워지는 건 unsinged char(1byte)로 변환
- 채우고자 하는 메모리의 크기 ex) sizeof(int)가 들어옴
- size_t: 부호없는 정수형 즉, unsinged integer
#include "libft.h"
void *ft_memset(void *b, int c, size_t len)
{
unsigned char *temp;
size_t i;
i = 0;
temp = (unsigned char *)b;
while (i < len)
temp[i++] = (unsigned char)c;
return (temp);
}
블로그에서 무슨 경고 뜬다고 하는데 됨
#include <stdio.h>
#include <string.h>
int main()
{
printf("%lu\\n", sizeof(size_t));
unsigned int size = strlen("AAA BBB");
printf("%u", size);
}
만약
널 포인터를 가리키고 있는 포인터가 지정된다면
char *ptr = 0;
memset(ptr, 0, sizeof(*ptr));
세그멘테이션 fault가 뜸.
또한
memset(ptr, 2, sizeof(*ptr));
이렇게 되어도 세그가 뜬다.
참고 사이트
void
C 언어 기초 (48) void 형 포인터
우리가 포인터에 대해서 배울때 어떠한 이야기를 했었죠? 포인터의 자료형은 해당 포인터가 가리키는 주소...
blog.naver.com
size_t
[C언어] size_t 란?
size_t 란? size_t는 부호 없는 정수형(unsinged integer)으로 sizeof, alignof, offsetof의 반환 값입니다...
blog.naver.com
memset, bzero 함수 구현
틀린 내용이나 지식이 있다면 댓글로 알려주세요! 감사합니다! (2021.01.03 내용수정) 2021.01.07 내용 업데이트 💡 💡 memset에 대하여 환경 c, c++ 목적 memset 함수는 어떤 메모리의 시작점부터 연속된
minsoftk.tistory.com
[C언어/C++] 메모리 초기화 memset 함수 사용법 & 예제
[C언어/C++] 메모리 초기화 memset 함수 사용법 & 예제
메모리를 할당받은 변수의 공간은 쓰레기 값들이 남아있습니다. 이러한 쓰레기값들을 없애기 위해서 사용할 수 있는 방법중 하나가 memset함수를 사용하는 것입니다. memset 함수를 사용하면 메모
coding-factory.tistory.com
[C / C++] memset 함수 사용
memset 함수는 memory + set 으로 특정 메모리 공간에 지정한 값을 채워준다. 함수 원형 void* memset(void* ptr, int value, size_t num); → memset (시작 포인터, 설정할 값, 크기) ① void* ptr 메모리 시작 주소 ② int
zoosso.tistory.com
'42Seoul > libft' 카테고리의 다른 글
libft - strlcpy, strlcat, strncmo (0) | 2023.03.24 |
---|---|
libft - bzero, memcpy, memove (0) | 2023.03.24 |
libft - isalpha, isdigit, isalnum (0) | 2023.03.24 |
Makefile (0) | 2023.03.23 |
libft.h 헤더 파일 만들기 (0) | 2023.03.23 |