"What is A?"
라는 문장을 변수 a에 넣고 싶다.

그럼 
char* s=malloc(sizeof(char)*10);
scanf("%s",s);
printf("s:%s\n",s);

이런식으로 하면 될까?
위의 결과는
s: What
이다.



"what is A"라는 문장을 사용자가 입력하면 버퍼에 그대로 저장이된다.
그런 뒤 scanf를 사용하면 버퍼에서 공백이 있는 곳까지 잘라 변수에 저장하게 된다. 

프로그램 코드와 실행 결과











이런식으로 코딩하게 되면 "What(space)is(space)A(Enter)"를 입력했을 때
s=What
s1=is
s2=A
가 된다. 

What is A 를 입력한 뒤 다른 입력 없이도 scanf함수를 사용할 때마다 buffer에서 읽어와서 변수에 저장하는 것이당


실행결과




그럼 공백도 포함해서 s에 넣고 싶으면 어쩌나..

fgets를 사용하면 된다. 
fgets(char* s, int size, File* stream);
이런 형태인데 stream으로부터 한줄씩(개행문자가 오기 전까지) 읽어서 s에 넣는 함수이다.
fgets함수 정리는 다음에... 





+ Recent posts