낙서장

  • 홈
  • 태그
  • 방명록

gets 1

scanf, gets, fgets 차이

scanf()는 문자열 입력시, 엔터전까지 문자열을 가져온다. 공백이 나오면 공백 이전까지 저장되고 마지막에 \0가 붙는다. 공백을 입력받기 어렵다보니 잘 안쓴다. abc를 입력했으니 실질적으로는 abc\0 이런식으로 저장된다. gets()는 \n까지 가져오고 \n을 \0으로 바꾼다. 결론적으로 abc\0가 저장된다. fgets()는 \n까지 가져오고 뒤에 \0를 덧붙여서 저장해준다. abc\n\0으로 저장된다. C는 입출력을 버퍼를 통해서 한다. 키보드로 입력을 할때 문자열이 버퍼에 들어간다. 그리고 함수들이 그 버퍼에서 가져오게 된다. scanf같은 함수가 문자들을 가지고 올때, \n을 버퍼에 남기고 가져가기 때문에, 다음에 문자열 입력을 받을 때 어려움이 생길 수 있다. 또한 우리가 일반적으로 입력..

프로그래밍/C 2022.04.01
이전
1
다음
더보기
프로필사진

낙서장

https://velog.io/@msh1307

  • 분류 전체보기 (94)
    • WARGAME (34)
      • FTZ (11)
      • pwnable.kr (6)
      • Lord of sql injection (9)
      • webhacking.kr (5)
      • pwnable.tw (3)
    • SYSTEM HACKING (7)
    • REVERSE ENGINEERING (1)
    • 프로그래밍 (13)
      • C (9)
      • JAVASCRIPT (2)
      • PYTHON (2)
    • PS (5)
      • BOJ (5)
    • Layer7 동아리 과제 (28)
    • OS, Kernel (5)
    • POSIX 동아리 정리 (1)

Tag

FTZ, OS, 리눅스 커널, 커널, 리버싱, 시스템콜, mmap libc leak, pwnable.kr, 링커, Level10, lord of sql injection, kernel, 해커스쿨, 백준, malloc libc leak, BOJ, sysmallc_mmap, 하드웨어, flask, pwnable.tw,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바