fprintf와 문자열 형식
Programming/C 2013. 2. 15. 01:59 |사용자로부터 이름을 입력받아 이것을 깔끔하게 name.txt 파일에 기록한다.
#include<stdio.h>
main()
{
int i;
char name[100];
FILE* file;
if((file = fopen("c:\\name.txt", "wt")) == NULL){
printf("file open error!\n");
return -1;
}
for(i=0; i<3; i++)
{
fputs("문자열 입력: ", stdout);
gets(name);
fprintf(file, "Name %d: [%-10.10s]\n", i, name);
}
if((fclose(file)) != 0){
printf("file close error!\n");
return -1;
}
return 0;
}
fprintf에서 사용한 문자열 형식.
%-10.10s => s는 데이터를 문자열로 출력하라는 것. 맨 앞의 -는 왼쪽 정렬하라는 의미.
그 뒤에 10은 최소 10개의 문자를 출력하라는 뜻으로 길이가 10 미만인 문자열은 공백으로 길이를 맞춘다.
그래서 Jeon이나 Taylor를 보면 뒤에 공백으로 채워져 길이가 맞춰져있다.
그리고 .10은 최대 10대 문자를 출력하라는 뜻이다. 10문자가 넘으면 잘리게 된다.
입력할 때, Martin Guitar를 입력했는데 최대 10문자라서 tar은 짤린것을 볼 수 있다.
'Programming > C' 카테고리의 다른 글
ftell 함수와 rewind 함수 (0) | 2013.02.15 |
---|---|
2차원 배열 동적할당. (2) | 2013.02.15 |
조건부 컴파일 (0) | 2013.02.15 |
모듈화 프로그래밍 (Modular Programming) (0) | 2013.02.15 |
전처리기 (Pre-Processor) (0) | 2013.02.15 |