#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 5000
void GetLine(char *szMemo);
void main(int argc, char *argv[])
{
char c;
char szMemo[MAX];
int i=0, j=0;
FILE *fp, *fp2;
if(argc > 3) printf("error : argc가 3이상입니다.\n");
switch(argc)
{
case 1:
GetLine(szMemo);
fputs(szMemo,stdout);
break;
case 2:
fp = fopen(argv[1],"r");
if(fp == NULL) {
printf("File not found\n");
exit(1);
}
while((c = fgetc(fp)) != EOF)
printf("%c",c);
fclose(fp);
break;
case 3:
if(!strcmp(argv[1],"@"))
{
fp = fopen(argv[2],"w");
while((c = getchar()) != EOF)
fputc(c, fp);
fclose(fp);
}
else
{
fp = fopen(argv[1], "r");
if(fp == NULL)
{
printf("File not found\n");
exit(1);
}
while((c = fgetc(fp)) != EOF)
szMemo[j++] = c;
szMemo[j] = '\0';
j = 0;
fp2 = fopen(argv[2], "w");
while((c = szMemo[j++]) != '\0')
fputc(c,fp2);
fputc('\0',fp2);
fclose(fp);
fclose(fp2);
}
break;
}
}
void GetLine(char *szMemo)
{
int i=0;
char c;
while((*szMemo++ = c = getchar()) != EOF && i++ < MAX);
*szMemo = '\0';
}
#include <stdlib.h>
#include <string.h>
#define MAX 5000
void GetLine(char *szMemo);
void main(int argc, char *argv[])
{
char c;
char szMemo[MAX];
int i=0, j=0;
FILE *fp, *fp2;
if(argc > 3) printf("error : argc가 3이상입니다.\n");
switch(argc)
{
case 1:
GetLine(szMemo);
fputs(szMemo,stdout);
break;
case 2:
fp = fopen(argv[1],"r");
if(fp == NULL) {
printf("File not found\n");
exit(1);
}
while((c = fgetc(fp)) != EOF)
printf("%c",c);
fclose(fp);
break;
case 3:
if(!strcmp(argv[1],"@"))
{
fp = fopen(argv[2],"w");
while((c = getchar()) != EOF)
fputc(c, fp);
fclose(fp);
}
else
{
fp = fopen(argv[1], "r");
if(fp == NULL)
{
printf("File not found\n");
exit(1);
}
while((c = fgetc(fp)) != EOF)
szMemo[j++] = c;
szMemo[j] = '\0';
j = 0;
fp2 = fopen(argv[2], "w");
while((c = szMemo[j++]) != '\0')
fputc(c,fp2);
fputc('\0',fp2);
fclose(fp);
fclose(fp2);
}
break;
}
}
void GetLine(char *szMemo)
{
int i=0;
char c;
while((*szMemo++ = c = getchar()) != EOF && i++ < MAX);
*szMemo = '\0';
}
'Native > C' 카테고리의 다른 글
[실습] 커맨드 라인 아규먼트를 이용해서 텍스트에 문자열을 뒤집어라 (0) | 2013.10.02 |
---|---|
언사인드 >> 시 (0) | 2013.10.02 |
[C로 배우는 알고리즘] Tree 를 이용한 전위,중위 후위 표기식 (0) | 2013.10.02 |
함수 포인터 (비트방식) (0) | 2013.10.02 |
함수 포인터 (내 방식) (0) | 2013.10.02 |