728x90
반응형
# include <stdio.h>

int main()
{
//	char name[120];
//	int result = scanf("%s",name);
//	// scanf 방식 


//	scanf() // 한 단어만 읽는다 . 
//	gets() // enter 입력 전까지 \n, \0을 추가한다. 
	
	char words[100] =""; // 초기화
	//gets(words); //  gets의 단점은  자기가 사용하는 메모리 크기를 모른다. 시작 주소는 알지만 끝나는 주소를 모름.
	// 그래서 나온게 gets_s - 권장 C11 지원 
	// 사용 예 gets_s(words, sizeof-  사용할 크기);, gets_s(버퍼,버퍼 크기); 
	//gets_s(words,sizeof(words));  // gets_s, scanf_s는 ms 비주얼 스튜디오 사용 
	
	
//	printf("%s",words); //printf의 경우에는 자동으로 줄바꿈이 없다. 
//	puts(words); // puts의 경우에는 자동으로 줄바꿈이 있다. 
//	printf("end");
	
	// fgets(버퍼, 버퍼크기, stdin - standardinput);
	// fgets(words, 5, stdin); // fgets 함수는 읽어들이는 데이터가 언제 끝날지 모른다는 가정 하에 실행을 해준다.
	// \n을 제거해 주지 않는다. 파일을 읽는 함수라서 매우 유용한 기능
	
	// \n을 바꾸고 싶다면
	/*
	int i = 0;
	while(words[i] != '\n' && words[i] = '\0')
	{
		i++;
		if(words[i] == '\n')
			words[i] = '\0';
	}
	
	*/ 
	
	// 파일의 입력값이 정해둔 값을 넘는다면
	char small_arr[5];
	puts("input here : ");
	fgets(small_arr, 5,stdin);
	fputs(small_arr, stdout); 
	
	
	return 0;
}
	

 

 

 

[그림1] gets 사용

 

 

[그림2] fgets,fputs 함수 자동으로 정해진 값까지만 출력

 

 

출처 - 인프런 홍정모의 따라하며 배우는 C

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기