게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 파일 입출력중 txt파일에 없는 값이출력됩니다.
게시물ID : programmer_20013짧은주소 복사하기
작성자 : 한시운
추천 : 0
조회수 : 2652회
댓글수 : 5개
등록시간 : 2017/03/20 15:03:29
이미지 111.png


#define _CRT_SECURE_NO_WARNINGS    // fopen 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>      // fopen, fread, fclose 함수가 선언된 헤더 파일
typedef enum {
false, true
} boolean; // boolean 변수 선언

struct studentSample1 {
char *fileName;
int hakbun; // 학번
char name[20]; // 이름
char tel[15]; // 전화
char adr[20]; // 주소
char buffer[100];
};

struct studentSample2 {
char *fileName;
int hakbun; // 학번
unsigned char c_lang; // c언어 성적
unsigned char data_st; // 자료구조 성적
unsigned char com_arch; // 컴퓨터구조 성적
char buffer[100];
};

// 파일을 열고 출력하는 함수
fileOpenFunction(char *fileName, char *buffer[100]) {
boolean fileOpen;
FILE *fp;
while (fileOpen != true) {
if ((fp = fopen(fileName, "r")) == NULL) {
printf("파일명이 잘못되었습니다. \n");
printf("파일명을 다시 입력해 주십시오. \n");
scanf("%s", fileName);
}
else
fileOpen = true;
}
fileOpen = false;

fread(buffer, sizeof(buffer), 30, fp);
printf("%s\n", buffer); // 파일의 내용 출력
printf("\n"); // 파일의 내용 출력
fclose(fp);
};

// 메인 시작
int main() {
char buffer[200] = {0, }; // 파일을 읽을 때 사용할 임시 공간, 미리 0으로 전부 초기화
char fName[255];
FILE *fp;
int i, count;
boolean beginWord, fileOpen; // true false 값 변수
struct studentSample1 sdS1;
struct studentSample2 sdS2;

// studentSample1 파일 읽고 출력
sdS1.fileName = "studentSample1.txt";
fileOpenFunction(sdS1.fileName, sdS1.buffer);

// studentSample2 파일 읽고 출력
sdS2.fileName = "studentSample2.txt";
fileOpenFunction(sdS2.fileName, sdS2.buffer);

// studentSample1 과 studentSample2의 학번비교



// 저장할 파일 이름 입력받기
printf("저장하고자 하는 파일명을 입력해 주십시오\n");
scanf("%s", fName);
fileOpenFunction(fName, buffer);
system("pause");
return 0;
}

//studentSample1을 출력하고 뒤에 자꾸 이상한 값이 따라붙내요
//출력할때 마다 다른걸 봐서 수소값인것 같기도 한대 똑같은 함수를 써도 왜 저기에서만 이상한 값이 출력이 되는거죠???
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호