Language/C
[따배씨] 11.5 문자열을 출력하는 다양한 방법들
migrationArc
2021. 6. 9. 17:37
따배씨 - 따라하며 배우는 C언어
11강 문자열 함수들
11.5 문자열을 출력하는 다양한 방법들
#include <stdio.h>
#define TEST "A string from #define."
void custom_put(const char* str); // Only two lines
void custom_put2(const char* str); // Add \n, return # of characters
int main(){
char str[60] = "String array initialized";
const char* ptr = "String array initialized";
puts("String without \\n");
// String without \n
puts("END");
// END
puts(TEST);
// A string from #define.
puts(TEST+5);
// ing from #define.
puts(&str[3]);
// ing array initialized
//puts(str[3]); // Runtime Error
puts(ptr + 3);
// ing array initialized
char str2[] = {'H', 'I', '!'};
puts(str2);
// HI!o?
return 0;
}
puts(str[3]); // Runtime Error
- puts 는 문자열의 시작 포인터 값을 받아 동작
char str2[] = {'H', 'I', '!'};
puts(str2);
- puts 는 NULL character 를 만날때까지 출력하는데, str2 는 NULL character가 없으므로 만날때까지 메모리를 탐색하여 출력을 진행
#include <stdio.h>
#define TEST "A string from #define."
void custom_put(const char* str); // Only two lines
void custom_put2(const char* str); // Add \n, return # of characters
int main(){
char input[100] = "";
int ret = scanf("%10s", input);
// just do it!
printf("%s\n", input);
// just
ret = scanf("%10s", input);
printf("%s\n", input);
// do
return 0;
}
- scanf 는 빈칸을 만나면 입력 종료
- 나머지 입력한 문자는 buffer 에 존재하다가 다음 scanf 를 만나면 다음 문자가 저장됨
#include <stdio.h>
void custom_put(const char* str); // Only two lines
int custom_put2(const char* str); // Add \n, return # of characters
int main(){
char input[100];
scanf("%s", input);
custom_put(input);
int cnt = custom_put2(input);
printf("%d\n", cnt);
return 0;
}
void custom_put(const char* str){
while (*str)
putchar(*str++);
}
int custom_put2(const char* str){
int count = 0;
while (*str){
putchar(*str++);
count++;
}
putchar('\n');
return count;
}
- putchar 를 이용한 custom 출력 함수
- *str++, *str 호출 후 str++ 연산
- while (*str), *str != '\0' 와 같은 표현
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
실리콘 밸리의 프로그래머 : 네이버 블로그
안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.
blog.naver.com
http://www.inflearn.com/course/following-c
홍정모의 따라하며 배우는 C언어 - 인프런 | 강의
'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원
www.inflearn.com