분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
#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하는것도 안되구요 ㅠㅠㅠㅠㅠ나는 안되나봐요
죄송합니다. 댓글 작성은 회원만 가능합니다.