minjeong-oh
기록
minjeong-oh
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • ML & Neural Net (3)
    • ◼️GNN (1)
    • ◼️시계열 (1)
    • ◼️추천시스템 (0)
    • ◼️수학 (3)
    • Data Engineer (2)
    • ◼️Spark (1)
    • ◼️Kafka (1)
    • ◼️Elestic Search (0)
    • ◼️Redis (0)
    • ◼️ClickHouse (1)
    • Programming Language (4)
    • ◼️SQL (0)
    • ◼️React (0)
    • ◼️Git (1)
    • ◼️Python (1)
    • ◼️C++ (33)
    • ◼️Fortran 99 (2)
    • ◼️OpenGL (7)
    • ◼️MFC (35)
    • ◼️Flutter (46)
    • ◼️Kotlin (1)
    • ◼️Android (1)
    • ◼️Java (1)
    • ◼️C (4)
    • Development (0)
    • ◼️디자인패턴 (0)
    • ◼️네트워크 (2)
    • ◼️인증 (1)
    • Computer Science (4)
    • 알고리즘 문제풀이 (12)
    • SQL 고득점 Kit 문제풀이 (8)
    • 취업준비 (0)
    • Notion 정리 글 (1)
    • Article Scrap (12)
      • Careerly - Q&A (7)
      • Careerly - Post (2)
    • 기타 등등 (16)

블로그 메뉴

  • 글쓰기
  • 홈
  • 태그
  • 방명록
  • 편집

공지사항

인기 글

태그

  • 티스토리폰트배경색없애기
  • 그램업그레이드
  • 이차원구조체배열포인터
  • 그램풀스팩업그레이드
  • kafka구축
  • hello테마
  • NextJSSwagger
  • 구조체배열포인터
  • 리눅스파티션
  • 구조체매개변수
  • API문서정리
  • OpenGL회전
  • GSLB
  • AI배워야하나
  • mfc
  • 이것이C++이다책참고
  • 19년식그램SSD장착
  • SpringBootSwagger
  • 19년식그램램장착
  • 인공지능개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
minjeong-oh

기록

◼️C

[C] fgets, fscanf 차이

2023. 12. 27. 18:02

5 6 7 8 9

my String

 

f라는 FILE에 위 문자열이 있다.

위 문자열은 아래와같이 구성되어져있는 것이다.

 

5 6 7 8 9\n

my String

 

fgets는 \n까지 읽어낸다.

fscanf는 \n와 스페이스를 구분자로 보고 '\n 또는 스페이스' 다음부터, '\n 또는 스페이스' 전 까지 읽는다.

 

사용예제

file 내용
5 6 7 8 9
my String



char str[1000];

fgets(str, "%s", f);   
// fgets가 \n까지 읽어내고
// str에는 \n를 제외한 "5 6 7 8 9" 까지 담기고 파일포인터는 다음줄의 m을 가리키고있다.  
print("%s", str);   //"5 6 7 8 9" 가 출력된다.


fscanf(f, "%s", str); 
//fscanf가 my까지 읽어내고
//str에는 "my"까지 담기고 파일포인터는 y다음 스페이스바를 가리킨다.
printf("%s", str); // "my"가 출력된다.


fgets(str, "%s", f); //str에는 스페이스바를 포함해서 " String" 까지 읽어온다.
printf("%s", str); // " String"이 출력된다.

 

 

파일에

100

my string 

 

위 문자열이 있다고 했을때

sscanf로 100을 읽고

fgets로 my string을 읽는 코드

int num;
char str[100];

sscanf(f, "%d", &num);  //100까지 읽고 파일포인터는 \n를 가리킨다.

fgets(str, "%s", f);  //\n를 읽어낸다.
fgets(str,"%s", f);   //my string을 읽어낸다.

printf("%d", num);  //100 
printf("%s", str);  //my string

'◼️C' 카테고리의 다른 글

[C] 구조체 배열에 색상 스펙트럼을 설정하기  (0) 2024.03.11
C언어 소수점의 자릿수 구하기  (0) 2023.03.06
C언어 2차원 배열 동적 할당  (0) 2020.01.21

    티스토리툴바