|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®
stdio.h »ç¿ëÇϱâ (3)
À̹ø ±â»ç´Â
stdio.h »ç¿ëÇϱâ¿Í
stdio.h »ç¿ëÇϱâ (2)
¿¡ ÀÌÀº stdio.h »ç¿ë¿¡ °üÇÑ ¸¶Áö¸· À¸·Î, Çü½ÄÈµÈ ÀÔÃâ·Â¿¡ ´ëÇØ¼
´Ù·ç°í ÀÖ´Ù. À̹ø ±â»ç´Â ´Ù¸¥ ¿©·¯ ±â»ç¿Í ¸¶Âù°¡Áö·Î c ÇÁ·Î±×·¡¹Ö¿¡
´ëÇÑ ±âÃÊÀûÀÎ ÀÌÇØ¸¦ Çϰí ÀÖÀ»°ÍÀ̶ó´Â °¡Á¤ÇÏ¿¡ ¸¸µé¾îÁ³´Ù.
Çü½ÄÈµÈ ÀÔÃâ·ÂÀº Formatted Input(Çü½ÄÈµÈ ÀÔ·Â) °ú Formatted Output
(Çü½ÄÈµÈ Ãâ·Â)À¸·Î ³ª´¶´Ù. Çü½ÄÈµÈ ÀÔÃâ·ÂÀ» ÇÊ¿ä·Î ÇÏ´Â °÷Àº
ÆÄÀÏÀ» ÅëÇØ¼ ÀоîµéÀÎ µ¥ÀÌŸ³ª Ç¥ÁØÀÔ·ÂÀåÄ¡ ¸¦ ÅëÇØ¼ ¹Þ¾Æµé¿©Áø
µ¥ÀÌŸ¸¦ »ç¿ëÀÚ°¡ º¸±â ÁÁÀº ÇüÅ·Πº¸¿©ÁÖ±â À§Çؼ ÁÖ·Î »ç¿ëµÈ´Ù.
¿¹¸¦ µé¾î
ÀÌ·¸°Ô ȸ鿡 Ãâ·ÂµÇ´Â °Íº¸´Ù´Â
ÀÌ·±½ÄÀ¸·Î ¿À¸¥ÂÊ Á¤·ÄÀ» ½ÃÄÑÁà¾ßÇÒ Çʿ䰡 Àִ°æ¿ìµµ ÀÖÀ»°ÍÀÌ´Ù.
ȤÀº ½Ã°£À» ³ªÅ¸³¾Àû¿¡ "³â/¿ù/½Ã/ºÐ" ÀÌ·± ½ÄÀ¸·Î ³ªÅ¸³»°í ½ÍÀ»
¶§µµ ÀÖÀ»°ÍÀÌ´Ù. ¶Ç´Â stdin À¸·Î ÀÔ·ÂÀ» ¹Þ°Å³ª, ÆÄÀϵ¼ ÀÔ·ÂÀ» ¹ÞÀ»¶§,
µ¥ÀÌŸ°¡ "1234:yundream:011-524-3128" ÀÌ·±½ÄÀ¸·Î ÀԷµǾú´Ù¸é, À̰ÍÀ»
":" À» ±âÁØÀ¸·Î ÇØ¼ Æ÷¸Ë¿¡ ±¸¾Ö¹ÞÁö ¾Ê°í ÀÔ·Â¹Þ°í ½ÍÀ»¶§µµ ÀÖÀ»°ÍÀÌ´Ù.
1234 ´Â int ÇüÀ¸·Î yundream Àº char ÇüÀ¸·Î.. ÀÌ·¯ÇÑ ÀÛ¾÷À» ½±°Ô Çϱâ
À§ÇÑ ¸ñÀûÀ¸·Î Çü½ÄÈµÈ ÀÔÃâ·Â ÇÔ¼öµéÀ» »ç¿ëÇÒ¼ö ÀÖ´Ù. ¹°·Ð ÀÌ·¯ÇÑ ÀÛ¾÷À»
token À» ±â¹ÝÀ¸·ÎÇÑ Æ÷ÀÎÅÍ ³ë°¡´Ù¸¦ ÇØµµ °¡´ÉÇϰÚÁö¸¸, stdio.h ¿¡¼ Á¦°øÇÏ´Â
ÇÔ¼öµéÀ» ÀÌ¿ëÇϸé ÈξÀ ºü¸£°í, ÆíÇÏ°Ô ÀÌ·¯ÇÑ ÀϵéÀ» ÇÒ¼ö ÀÖ´Ù.
»ç¿ëÀÚ°¡ ¿øÇÏ´Â Çü½ÄÀ¸·Î °ªÀ» Ãâ·Â½ÃÄÑÁÖ±â À§Çؼ »ç¿ëµÈ´Ù. ´ÙÀ½°ú
°°Àº printf °è¿ÀÇ ÇÔ¼öµéÀ» ÀÌ¿ëÇÑ´Ù.
#include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
|
const char *format ´Â µÚ¿¡ ÁÖ¾îÁø ¾Æ±Ô¸ÕÆ®µéÀ» ÀÌ¿ëÇØ¼ Çü½ÄȵÈ
Ãâ·ÂÀ» ½ÃÄÑÁØ´Ù. printf °¡ stdout(Ç¥ÁØÃâ·Â)À¸·Î Çü½ÄÈµÈ Ãâ·ÂÀ»
½ÃŰ´Â ¹Ý¸é, fprintf ´Â ÇØ´ç FILE °´Ã¼·Î Çü½ÄÈµÈ Ãâ·ÂÀ» ÇÑ´Ù.
±×·¯¹Ç·Î printf(...) ´Â fprintf(stdout,...) ¿Í µ¿ÀÏÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù.
sprintf ¿Í snprintf ´Â char *str ·Î Çü½ÄÈµÈ Ãâ·ÂÀ» º¹»çÇÑ´Ù.
printf °è¿ÀÇ ÇÔ¼ö´Â Çü½ÄÈµÈ ÀÔÃâ·ÂÀ» Áö¿øÇϱâ À§ÇØ,
ÀԷµǴ º¯¼öÀÇ type ¿¡ ´ëÀÀµÇ´Â ´Ù¾çÇÑ Æ÷¸Ë¹®ÀÚ µéÀ» Áö¿øÇÑ´Ù.
ÀÌ·¯ÇÑ Æ÷¸Ë¹®ÀÚ´Â '%' ·Î ½ÃÀ۵Ǹç, °¢ ¾Æ±Ô¸ÕÆ®¿Í ¼ø¼´ë·Î ´ëÀÀµÈ´Ù.
int day=5;
char *mday="È";
printf("¿À´ÃÀº %dÀÏ %s¿äÀÏ ÀÔ´Ï´Ù", day, mday);
|
À§ÀÇ ¿¹¸¦ º¸¸é day ¿Í mday ´Â °¢°¢ %d ¿Í %s ·Î Ãâ·ÂµÊÀ» ¾Ë¼ö ÀÖ´Ù.
%d ´Â int ÇüÀÇ ¼ýÀÚ¸¦ ¹Þ¾ÆµéÀ̱â À§Çؼ %s ´Â ¹®ÀÚ¿À» ¹Þ¾ÆµéÀ̱â
À§Çؼ »ç¿ëµÈ´Ù.
fprintf ´Â Ãâ·ÂÀ» stdout(Ç¥ÁØÃâ·Â-ȸé)À¸·Î¸¸ °¡´ÉÇÑ printf ¿Í´Â ´Þ¸®
¾Æ±Ô¸ÕÆ®·Î ÁÖ¾îÁö´Â FILE °´Ã¼·Î Ãâ·Â½Ãų¼ö ÀÖ´Ù.
int day=5;
char *mday="È";
fprintf(stderr,"¿À´ÃÀº %dÀÏ %s¿äÀÏ ÀÔ´Ï´Ù", day, mday);
|
À§ÀÇ ¿¹´Â printf ¹öÁ¯°ú µ¿ÀÏÇÏÁö¸¸, Ãâ·ÂÀ» Ç¥ÁØ¿¡·¯·Î º¸³»°í ÀÖÀ½À»
¾Ë¼ö ÀÖ´Ù.
sprintf ¿Í snprintf ´Â Ç¥ÁØÈµÈ Ãâ·ÂÀÇ ³»¿ëÀ» ´Ù¸¥ string º¯¼ö·Î
º¹»çÇϱâ À§Çؼ »ç¿ëÇÑ´Ù.
int day=5;
char *mday="È";
char today[255];
memset(today, 0x00, 255);
fprintf(today,"¿À´ÃÀº %dÀÏ %s¿äÀÏ ÀÔ´Ï´Ù", day, mday);
|
fprintf ¿Í ¸Å¿ì ºñ½ÁÇÏ°Ô »ç¿ëÇÔÀ» ¾Ë¼ö ÀÖ´Ù. fprintf ¿Í ´Þ¸®
Ç¥ÁØÈµÈ Ãâ·ÂÀÇ ³»¿ëÀ» today ¹®ÀÚ¹è¿ º¯¼ö·Î º¸³»°í ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù.
sprintf ¿Í snprintf ÀÇ Â÷ÀÌÁ¡Àº snprintf °¡
º¹»çµÉ ¹®ÀÚ¿ÀÇ Å©±â¸¦ ÁöÁ¤ÇÒ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.
¿ì¸®´Â ÀÔ·ÂÀåÄ¡³ª ȤÀº ÆÄÀÏ·Î ºÎÅÍ, ¹®ÀÚ³ª ¼ýÀÚ¸¦ ÀԷ¹ÞÀ»¼ö ÀÖ´Ù.
±×·¯³ª º¸ÅëÀÇ read ¸¦ ¾µ°æ¿ì ÀоîµéÀÎ µ¥ÀÌŸ¸¦ ¼ø¼öÇÏ°Ô ¹®ÀÚ¿·Î
ó¸®ÇϹǷÎ, ¼ýÀÚȤÀº float ÇüÀ¸·Î À̰ÍÀ» ó¸®ÇÏ°í ½ÍÀ»¶§´Â
²Ï º¹ÀâÇÑ Ã³¸®°úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. ÀÌ·²¶§ scanf °è¿ÀÇ Çü½ÄÈ ÀÔ·Â
ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°Ô Ã³¸®°¡ °¡´ÉÇÏ´Ù.
#include <stdio.h>
int scanf( const char *format, ...);
int fscanf( FILE *stream, const char *format, ...);
int sscanf( const char *str, const char *format, ...);
|
scanf ´Â stdin(Ç¥ÁØÀÔ·Â-Űº¸µå)·Î ºÎÅÍ Çü½ÄÈµÈ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀ̰í,
fscanf ´Â FILE °´Ã¼·Î ºÎÅÍ ¹Þ¾Æµé ÀδÙ.
sscanf ´Â const char *str À» Àоîµé¿©¼ Çü½ÄÈµÈ ÀÔ·ÂÀ» ó¸®ÇÑ´Ù.
scanf(..) ´Â fscanf(stdin,..) °ú °°Àº ÀÏÀ» ¼öÇàÇÑ´Ù.
int int1, int2;
scanf("%d%d", &int1, &int2);
printf("%d %d", int1, int2);
|
À§ÀÇ ¿¹´Â 2°³ÀÇ Á¤¼ö¸¦ stdin À¸·Î ºÎÅÍ ÀԷ¹޾Ƽ int1 °ú int2 ¿¡
°¢°¢ ÀúÀåÇÑ´Ù. scanf °è¿ÀÇ ÇÔ¼ö´Â ÀåÄ¡³ª ÆÄÀÏ·Î ºÎÅÍ ¹®ÀÚ¸¦
ÀоîµéÀ϶§, °ø¹é¹®ÀÚ Áï ('\n', ' ', '\t')¸¦ ±âÁØÀ¸·Î ¹®ÀÚ¸¦
ºÐ¸®Çؼ ¹Þ¾ÆµéÀδÙ. ¾Æ·¡ÀÇ ¿¹¸¦ ÄÄÆÄÀÏ ÇØ¼ ÀÔ·ÂÅ×½ºÆ®¸¦ ÇØº¸ÀÚ
#include <stdio.h>
int main()
{
float float1;
int int1, int2;
scanf("%d%d", &int1, &int2);
printf("%d %d", int1, int2);
}
|
°ªÀ» ÀÔ·ÂÇÒ¶§ "123"À» ÀÔ·ÂÇϰí "¿£ÅÍ۸¦ ´©¸£°í" "45" ¸¦ ÀÔ·ÂÇϸé
int1°ú int2 ¿¡ °¢°¢ 123 °ú 45 °¡ ÀԷµɰÍÀÌ´Ù.
ȤÀº "123 45" ÀÌ·±½ÄÀ¸·Î Áß°£¿¡ °ø¹é¹®ÀÚ¸¦ µÎ°í ÀÔ·ÂÇØµµ µ¿ÀÏÇÑ
È¿°ú¸¦ °¡Á®¿Ã°ÍÀÌ´Ù. ÀÌÀ¯´Â °ø¹é¹®ÀÚ¸¦ ±âÁØÀ¸·Î Æ÷¸Ëº¯È¯À» Çϱâ
¶§¹®ÀÌ´Ù.
¹°·Ð ¿ì¸®´Â °ø¹éÀ̳ª Åǹ®ÀÚ ´ë½Å¿¡
"," ³ª ":" °ú °°Àº ´ÜÀϹ®ÀÚ¸¦ ±¸ºÐÀÚ·Î ÇØ¼ Çü½ÄȵÈ
ÀÔ·ÂÀ» ´Ù·ê¼öµµ ÀÖ´Ù. ´ÜÀÏ ¹®ÀÚ¸¦ ±¸ºÐÀÚ·Î ÇÒ°æ¿ì¿¡´Â ¾Æ·¡¿Í °°ÀÌ
´Ü¼øÇÏ°Ô Ã³¸®°¡ °¡´ÉÇÏ´Ù.
scanf("%d,%d", &int1, &int2);
printf("%d %d", int1, int2);
|
ÇÏÁö¸¸ ÀÌ·±°Í º¸´Ù Á»´õ º¹ÀâÇÑ ¹®ÀÚ¿ Áï ":=" ·Î ³ª´«´Ù°í ÇßÀ»¶§´Â
À§ÀÇ ¹æ¹ýÀ» »ç¿ëÇÒ¼ö ¾ø´Ù. ´ë½Å scanf ¿¡¼´Â ÀÌ·¯ÇÑ Á»´õ
´Ù¾çÇÑ Çü½ÄÈµÈ ÀÔÃâ·ÂÀÇ »ç¿ëÀ» À§Çؼ '[]'¸¦ Á¦°øÇÑ´Ù.
ÆÐÅϸÅΰú À¯»çÇÑ ¹æ½ÄÀÎ [a-z0-9] ÀÌ·±½ÄÀÇ °£´ÜÇÑ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
À§ÀÇ ":=" ¸¦ ÅëÇÑ Çü½ÄÈµÈ ÀÔÃâ·ÂÀ» ¿øÇÑ´Ù¸é
int int1, int2;
char dd[15];
scanf("%d%[=:]%d", &int1, &dd, &int);
printf("%d - %d", int1, int2);
|
¿Í °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ¸é µÉ°ÍÀÌ´Ù. ÀÌ°É ÀßÀÌ¿ëÇϸé Á»´õ º¹ÀâÇÑ
Çü½ÄÀ» °¡Áø ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÏ ¼öµµ Àִµ¥, ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ»
»ç¿ëÇÏ¸é µÈ´Ù.
#include <stdio.h>
int main()
{
int int1, int2;
char dd[15];
scanf("%d%[a-zA-Z]%d", &int1, &dd, &int);
printf("number : %d - %d", int1, int2);
printf("string : %s, dd);
}
|
À§ÀÇ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑÈÄ ½ÇÇà½ÃÄѼ '1234AbCdEf5677' ÀÌ·±½ÄÀ¸·Î
ÀÔ·ÂÀ» ÇØº¸ÀÚ. ±×·¯¸é ¼ýÀÚ¿Í ¹®ÀÚ¿ÀÌ ¿ÏÀüÈ÷ ±¸ºÐµÇ¾î¼
°¢°¢ÀÇ º¯¼ö¿¡ µé¾î°¡°Ô µÊÀ» È®ÀÎÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
¶Ç´Ù¸¥ ¿¹¸¦ µé¾îº¸ÀÚ ÀԷ¹޾Ƽ ó¸®ÇØ¾ß ÇÏ´Â µ¥ÀÌŸ°¡
"aekf1234kefb"Àϰæ¿ì ¹®ÀÚ¿Í ¼ýÀÚ¸¦ °¢°¢ ºÐ¸®Çؼ ¹Þ¾Æ³»·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î ?
char buf1[25];
char buf2[25];
int int1;
scanf("%[a-zA-Z]%d%[a-zA-Z]", buf1, int1, buf2);
|
¾ÆÁÖ °£´ÜÇϰí À¯¿¬ÇÏ°Ô Çü½ÄÈµÈ ÀÔÃâ·ÂÀÌ °¡´ÉÇÔÀ» ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù.
ÀÌ·¯ÇÑ ÇÔ¼öµéÀ» ÀÌ¿ëÇÏ¸é ±×µ¿¾È token À» »ç¿ëÇØ¼ º¹ÀâÇÏ°Ô ÀÛ¾÷Çß´ø ¹®ÀÚ¿ ÆÄ½Ì
ÀÛ¾÷µéÀ» ¸Å¿ì ¼Õ½±°Ô ÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
ÀÔ·ÂÀ¸·Î ¹Þ¾ÆµéÀÎ °ª ȤÀº Ãâ·Â °ªÀ» Àû´çÇÑ Å¸ÀÔÀ¸·Î º¯È¯Çϱâ
À§Çؼ »ç¿ëÇÑ´Ù.
ÀÌ·¯ÇÑ Å¸ÀÔº¯È¯Àº '%'¸¦ ÀÌ¿ëÇØ¼ °¡´ÉÇϸç, '%' µÚ¿¡
°¢°¢ÀÇ Å¸ÀÔÀ» ³ªÅ¸³»´Â ¹®ÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
´ÙÀ½Àº ÀÌ·¯ÇÑ Å¸ÀÔº¯È¯ ¹®ÀÚµéÀÌ´Ù.
표 1. º¯È¯¹®ÀÚ | d | int | | | i | int | | | o | unsigned ŸÀÔÀÇ 8Áø¼ö | | | u | unsigned int | | | x | unsigned ŸÀÔÀÇ 16Áø¼öÇüÅ | ´ë¹®ÀڷΠǥ½ÃµÈ´Ù Áï 13 Àº 1D | | X | unsigned ŸÀÔÀÇ 16Áø¼öÇüÅ | ¼Ò¹®ÀڷΠǥ½ÃµÈ´Ù Áï 13 Àº 1d | | % | %ÀÚü¸¦ ³ªÅ¸³½´Ù. | | | s | ½ºÆ®¸µ point (char *) | | | c | unsigned char | ¿¹¸¦µé¾î 65´Â ASCII»ó¿¡¼ A¸¦ °¡¸£Å²´Ù. | | c | unsigned char | | | f | ¼Ò¼ýÁ¡À» °¡Áö´Â double | -999.99, 999.99 | | f | ¼Ò¼ýÁ¡À» °¡Áö´Â double | -999.99, 999.99 | | e | ºÎµ¿¼Ò¼ýÁ¡À» °¡Áö´Â double | -999.99e+99, 9.9e-9 | | E | ºÎµ¿¼Ò¼ýÁ¡À» °¡Áö´Â double | -999.99E+99, 9.9E-9 |
¶ÇÇÑ stdio.h ÀÇ ÇÔ¼öµéÀº ÇʵåÁ¤·ÄÀ» ÅëÇØ¼ º¸±âÁÁÀº Ãâ·Â°á°ú¸¦ ¸¸µé¼öµµ ÀÖ´Ù.
À§ÀÇ "º¯È¯¹®ÀÚ" µé°ú Á¶ÇÕÇØ¼ »ç¿ëÇÔÀ¸·Î½á, ¹®ÀÚµéÀ» Çʵå Á¤¿ÇÒ¼ö ÀÖ´Ù.
º¯È¯ ¹®ÀÚ¾Õ¿¡ ÇʵåÀÇ Æø¸¸Å ÀÇ Å©±â¸¦ Àû¾îÁÖ¸é µÈ´Ù. Á¤¿Àº ±âº»ÀûÀ¸·Î
¿À¸¥ÂÊ Á¤¿À̸ç, ÁöÁ¤µÈ ÆøÅ©±â ¼ýÀÚ ¾Õ¿¡ "-" ¸¦ »ç¿ëÇÏ¸é ¿ÞÂÊÁ¤·Ä ½Ãų¼ö
ÀÖ´Ù. ¶ÇÇÑ ³²´Â Çʵ带 '0' °ªÀ¸·Î ä¿ï¼öµµ ÀÖ´Ù.
#include <stdio.h>
int main()
{
printf("%8d%12s\t%04d\n", 1, "kim", 12);
printf("%8d%12s\t%04d\n", 2, "yun", 56 );
}
|
À§ÀÇ ¿¹´Â ¾Æ·¡¿Í °°Àº °á°ú¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù.
Cache Error
|
|