๋ฌธ์์ด ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
EOF(End Of File)
EOF(End Of File)๋ C ์ธ์ด์์ ํ์ผ์ ๋์ ๋ํ๋ด๋ ๋งคํฌ๋ก ์์์ด๋ค.
์ด ๋งคํฌ๋ก๋ <stdio.h> ํค๋ ํ์ผ์ ์ ์๋์ด ์๋ค.
EOF๋ ์ฃผ๋ก ํ์ผ์ ๋์ ๊ฒ์ฌํ๊ฑฐ๋ ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ๋ ์ฌ์ฉ๋๋ฉฐ ํ์ผ์ ๋์ ๋ํ๋ด๋ ํน๋ณํ ๊ฐ์ ๋ํ๋ธ๋ค.
EOF๋ ์ ์ ์์์ด๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก -1๋ก ์ ์๋๋ค.
ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ fgetc() ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด EOF๋ฅผ ๋ง๋ ๋๊น์ง ํ์ผ์์ ๋ฌธ์๋ฅผ ํ๋์ฉ ์ฝ์ด์ฌ ์ ์๋ค.
#include <stdio.h>
int main() {
FILE *fp;
char c;
fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
while ((c = fgetc(fp)) != EOF) {
putchar(c); // ํ์ผ์์ ํ ๋ฌธ์์ฉ ์ถ๋ ฅ
}
fclose(fp);
return 0;
}
์ ์ฝ๋์์ fgetc(fp)๋ ํ์ผ ํฌ์ธํฐ fp๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์์ ํ ๋ฌธ์๋ฅผ ์ฝ์ด์ค๊ณ ,
์ด ๋ฌธ์๊ฐ EOF์ ๊ฐ์ง ์์ ๋๊น์ง ๊ณ์ ๋ฐ๋ณตํ๋ค. ๊ทธ๋ฆฌ๊ณ EOF์ ๋๋ฌํ๋ฉด ๋ฐ๋ณต๋ฌธ์ด ์ข ๋ฃ๋๋ค.
๋ฐ๋ผ์ EOF๋ ํ์ผ ์ฒ๋ฆฌ์์ ์ค์ํ ์ญํ ์ ํ๋ฉฐ, ํ์ผ์ ๋์ ๋ํ๋ด๋ ๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ค.
๋ฌธ์์ด ๋ณต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ strcpy()
char dst[6];
char src[6] = "Hello";
strcpy(dst, src); //src๋ฅผ dst๋ก ๋ณต์ฌํ๋ค
strcpy()์ strncpy()์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ?
- strncpy()๋ ์ต๋ n ๋ฌธ์๋ง ๋ณต์ฌํ๋ฏ๋ก ๋ ์์ ํ ์ ์์ง๋ง,
๋ ์ข ๋จ์ด ๋ณด์ฅ๋์ง ์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ๋ ์ข ๋จ '\0' ์ ์ถ๊ฐํด์ผ ํ๋ค.
char src[] = "Hello, world!";
char dest[50];
strcpy(dest, src);
๋ฌธ์์ด ์ฐ๊ฒฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ strcat()
char dst[12] = "Hello";
char src[6] = "World";
strcat(dst, src); //dst๊ฐ "HelloWorld"๊ฐ ๋๋ค
๋ฌธ์์ด ๋น๊ต ๋ผ์ด๋ธ๋ฌ๋ฆฌ strcmp()
int result = strcmp("dog", "dog") //๋ฌธ์์ด์ด ๊ฐ์ผ๋ฉด ๊ฐ์ผ๋ฉด 0์ด ๋ฐํ๋๋ค ์ฃผ์!
๋ฐํ๊ฐ < 0 : s1์ด s2๋ณด๋ค ์์ ์๋ค. ์์
0 : s1 == s2
> 0 : s1์ด s2๋ณด๋ค ๋ค์ ์๋ค. ์์
๋ฌธ์์ด ๊ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ strchr()
char *p = strchr("dog","g")
๋ฌธ์๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ๊ฐ์ฅ ๋จผ์ ๋ฐ๊ฒฌ๋ ์ฒซ ์์น์ ์ฃผ์๋ฅผ ๋ฐํํ๋ค.
๋ฌธ์์ด ๊ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ strstr()
char *p = strstr("dog","og")
๋ฌธ์์ด s์์์ ๋ถ๋ถ ๋ฌธ์์ด sub๋ฅผ ๊ฒ์ํ๋ ํจ์์ด๋ค. ๋ง์ฝ ๋ถ๋ถ ๋ฌธ์์ด์ด ๋ฐ๊ฒฌ๋๋ฉด ๊ทธ ์์น์ ์ฃผ์๋ฅผ ๋ฐํํ๋ค.
๋ง์ฝ ๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ์ง ๋ชปํ๋ฉด NULL๊ฐ์ด ๋ฐํ๋๋ค.
๋ฌธ์์ด ํ ํฐ ๋ถ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ strtok()
์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๋ ํจ์ sscanf(), sprintf()
- ์์ ๋ถ๋ s๋ string์ ์๋ฏธํ๋ค
value ๊ฐ์ "%d" ๋ณ์๋ก ๋ฐ์์, s(๋ฌธ์์ด๋ก ์ ์ฅํ๋ค.)
<์ฐธ๊ณ >
printf("์ฐ์ฐ ๊ฒฐ๊ณผ๋ %s์ ๋๋ค\n", b) -> ์ซ์์ธ b๋ฅผ %s์ ์ ์ฅํด์, ๋ฌธ์์ด๋ก ์ ์ฅ์ํฌ ์๋ ์๋ค.
๋ฌธ์์ด์ ์์น๋ก ๋ณํํ๋ ํจ์ atoi(), atof()
int atoi( const char *str ); //str์ int๋ก ๋ณํํ๋ค.
long atoi( const char *str ); //str์ long๋ก ๋ณํํ๋ค.
double atof( const char *str ); //str์ double๋ก ๋ณํํ๋ค.
'C Programming Language > C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C์ธ์ด ๊ตฌ์กฐ์ฒด union, enum, typedef ๋? (0) | 2024.08.02 |
---|---|
C์ธ์ด ๊ตฌ์กฐ์ฒด์ ๋ณ์, ๋ฐฐ์ด , ํฌ์ธํฐ, ํจ์ (0) | 2024.08.02 |
C์ธ์ด ๋ฌธ์์ ๋ฌธ์์ด์ ๋ํด ํ์ตํ๊ธฐ (0) | 2024.07.10 |
C์ธ์ด ํฌ์ธํฐ(pointer)์ ๊ฐ๋ ํ์ตํ๊ธฐ (0) | 2024.07.02 |
C์ธ์ด ์ ๋ ฌ๊ณผ ํ๋ ฌ์ ๋ํด ํ์ตํ๊ธฐ (0) | 2024.07.01 |