반응형
파일 내용에서 똑 같은 행이 2개 이상 연달아 있으면 중복된 라인을 제거해서 한 개씩만 표준 출력하는 C언어 프로그램입니다.
테스트로 사용한 uniq.txt 파일은 다음과 같습니다.
Get Get a string from a stream. a stream. a stream. Get a string from a stream. |
실행된 결과는 다음과 같습니다.
C언어 코드
#define _CRT_SECURE_NO_WARNINGS // Visual Studio
#include <stdio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
#define LEN 200
#define swap(a,b) { char *temp; temp=a; a=b; b=temp; }
int main()
{
char buffer1[LEN] = { 0 };
char buffer2[LEN] = { 0 };;
char* base, * new;
FILE* fp;
base = buffer1;
new = buffer2;
if ((fp = fopen("uniq.txt", "rt")) == NULL)
{
printf("파일 읽기 오류\n");
return -1;
}
if (fgets(base, LEN, fp))
printf("%s", base);
while (fgets(new, LEN, fp))
{
if (strcmp(new, base))
{
printf("%s", new);
swap(base, new);
}
}
fclose(fp);
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) 홀수 마방진 (magic square) (0) | 2023.04.09 |
---|---|
(C언어) 마름모 모양으로 별찍기 (0) | 2023.04.08 |
비주얼스튜디오에서 스택(stack) 크기 설정(늘리기) (0) | 2023.03.25 |
(C언어) 복소수의 사칙연산: 합, 차(빼기), 곱(곱하기), 나누기 (0) | 2023.03.21 |
(C언어) open: 파일을 연다 (1) | 2023.03.14 |