수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1691956
  • Today | 100
  • Yesterday | 564

1 Articles, Search for 'sprintf'

  1. 2007/12/30 형식화된 입출력 – printf, fprintf, sprintf
Unix & Linux/Develop2007/12/30 23:11

형식화된 입출력 – printf, fprintf, sprintf

printf, fprintf, sprintf

#include <stdio.h>

int printf(const char *format, …);

int sprintf(char *s, const char *format, …);

int fprintf(FILE *stream, const char *format, …);

출력 스트림에 각 인자를 표현하는 방법은 format 매개변수에 의해 조절된다. 이 매개변수는 출력할 일반적인 문자와 변환 지정자(conversion specifier)라고 불리는 코드를 포함하고 있다.

  • %d, %i: 정수를 십진 형태로 출력한다.

  • %o, %x: 정수를 8진수, 16진수 형태로 출력한다.

  • %c: 문자를 출력한다.

  • %s: 문자열을 출력한다.

  • %f: 부동 소수점(단일 정밀도) 숫자를 출력한다.

  • %e: 배정밀도(double precision) 숫자를 고정된 형식으로 출력한다.

  • %g: 배정밀도 숫자를 일반적인 형식으로 출력한다.

printf에 전달된 인자의 개수와 형식이 format 문자열에 있는 변환 지정자와 일치한다는 것은 매우 중요하다. 크기 지정자를 사용하여 정수 인자의 형식을 지정할 수도 있는데 없어도 된다. 크기 지정자는 h 혹은 l이 될 수 있다. 예를 들어 %hd는 short int를 나타내고, %ld는 long int를 나타낸다. 어떤 컴파일러는 이러한 printf 구문들을 검사할 수 있으나 절대 오류가 없을 수는 없다. GNU 컴파일러 gcc를 사용한다면 –Wformat이 이러한 검사를 수행해준다.

형식

인자

출력

%10s

“Hello”

         Hello

%-10s

“Hello”

Hello

%10d

1234

         1234

%-10d

1234

1234

%010d

1234

0000001234

%10.4f

12.34

     12.3400

%*s

10,”Hello”

         Hello

이 모든 예제는 10문자의 너비를 가진 필드에 출력된다. 음수 필드 너비는 항목이 필드 내에서 왼쪽 정렬됨을 의미한다. Asterisk(*)를 사용하여 변수 필드 너비를 지정한다. 이 경우에 다음 인자가 너비로 사용된다. 앞에 오는 0은 항목의 앞에 0이 쓰여짐을 의미한다. POSIX 명세에 따르면 printf는 필드의 내용을 지우지 않고 딱 맞도록 필드를 확장한다. 예를 들어 필드보다 긴 문자열을 출력하고자 시도한다면 필드는 커진다.

이 글을 출처에 해당하는 책에서 발췌하게 된 것은 Asterisk(*)를 이용해서 변수 필드 너비를 지정한다는 것을 이 책을 보고 처음 알았기 때문이다. 왜 다른 책에서는 볼 수 없었는지 의문이면서도 기능을 알게 된 것이 즐겁다.

출처 : Beginning Linux Programming 제3판 (정보문화사)

"Develop" 카테고리의 다른 글
  • 형식화된 입출력 – printf, fprintf, sprintf (0)2007/12/30
  • Dialog 유틸리티를 이용한 콘솔에서의 그래픽 표현 (0)2007/12/23
  • Vim에서 엉망이 된 소스 코드 자동으로 맞추기 (2)2007/11/27
  • A Simple Makefile Tutorial (0)2007/07/19
  • 세마포어의 사용 (0)2007/05/14
2007/12/30 23:11 2007/12/30 23:11
Posted by webdizen
Tags fprintf, printf, sprintf, 형식화된 입출력
1 Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/3160

  1. printf,scanf를 이용한 형식화된 입출력  Delete

    2010/03/10 14:51 Tracked fromyundream의 프로그래밍 이야기

    형식화된 입출력은 Formatted Input(형식화된 입력) 과 Formatted Output (형식화된 출력)으로 나뉜다. 형식화된 입출력을 필요로 하는 곳은 파일을 통해서 읽어들인 데이타나 표준입력장치 를 통해서 받

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 연결 프로그램 찾기 다이얼로그
  • 연결프로그램
  • Named
  • Volatile
  • HTML 2.0
  • Ruby on the Rails
  • 몽랑볼 볼리노
  • 프로젝트 관리
  • 중앙도서관
  • MP3 플레이어
  • 엔터티빈
  • 어학교육원
  • Microformats
  • 프로그래머의 조건
  • 프로그램 중복 실행 방지
  • 시스템 관리
  • 동적 조정
  • 준비물
  • 라스베이거스
  • 웹 서비스 개발자

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • Lots of students know techn....
    Bobbi35Shannon 02/25
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.