게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[c언어]fwrite함수 썻는데 텍스트 파일에 쓰레기값이 찍혀요
게시물ID : computer_84201짧은주소 복사하기
작성자 : 등교의고통
추천 : 0
조회수 : 3544회
댓글수 : 8개
등록시간 : 2013/04/11 16:28:55

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 

struct people
{
 char name[20];
  char number[30];
};//people이라는 이름과 전화번호를 받는 구조체를 정의한다.
 
void WriteInfo( int &n ,struct people *p1[])//파라매터로 구조체를 불러와야한다.
{
 p1[n]=(struct people*)malloc(sizeof(struct people));//입력할때마다 동적배열로 n번째 배열에 people만큼 메모리를 준다.
 
 printf("Name:");
 scanf("%s",p1[n]->name);//n번째 배열에 name이라는 인자에 값을 입력한다 구조체의 포인터값을 쓸땐 .아니라 ->을 쓴다.
 
 printf("Phone_number:");
 scanf("%s",p1[n]->number);
 n++;
 
}//정보를 입력하는 함수
  
int main()
{
 int n=0;
 int t=0;
 int k;
 int s;
 struct people* p1[1000]={NULL};

 
 
 
 
 FILE * o=fopen("db.txt","r+");

 if(0 != NULL)
 {
 for(s=0; s < 1000; s++)
 {
  fread(p1[s],sizeof(struct people),1,o);
 }
 }
 FILE * p=fopen("db.txt","w+");

 while(t!=1)//t가 1이 아닌이상 무한루프한다
  {
  
    
   SeeMenu();
   SelctMenu(&p1[0],n,t);
 
  }

 fwrite(&n,sizeof(int),1,p);

 for(int k=0; k < n; k++)
 {
 
  fwrite(p1[k],sizeof(struct people),1,p);
 }

 fclose(p);
 fclose(o);
 for(int i=0; i<n; i++)
 {
  free(p1[i]);
 }
 
 
 
 
 return 0;
}  
파일선언에 필요해보이는 함수빼고 전부 지웠어요,,,하여튼 저렇게 하면 찍히기는 하는데 쓰레기값도 같이 찍히네요? 초기화는 한거같은데요...그리고 카운터값인 n을 찍으면 왠 상형문자가나와요..저 read하는것도 안되구요 ㅠㅠㅠㅠㅠ나는 안되나봐요

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호