간단한 C 프로그램 - 직원 데이터베이스 만들기 ... 내 데이터는 쉼표와 \ n으로 구분 된 .txt 파일로 저장되므로 다음과 같이 표시됩니다.파일에서 데이터로드
데이터 1, ID 1, 이름 1
데이터 2, ID2,
NAME2 무엇 (C에서,하지 C는 ++) 파일과 같은 독립 변수 저장 모든 값의 모든 데이터를로드하는 데 가장 좋은 방법입니다 (예 : p-> 데이터, p-> id, p-> 이름)?
이
내가 (단지 스크립트가 아닌 파일에 변수) 변수에 데이터를 저장하는 데 사용하는 코드입니다 :void insert(emp *p,int n)
{
p=p+n;
printf("\nenter name of emplyee:");
_flushall();
gets(p->name);
printf("\nenter employee id:");
scanf("%d",&p->empid);
printf("\nenter salary of the emplyee:");
scanf("%d",&p->salary);
printf("\nenter phone no of the emplyee:");
flushall();
gets(p->ph);
}
그리고이 스크립트 파일에 데이터를 저장 :
void sejv(emp *p,int n)
{
int i;
FILE *fptr;
fptr=fopen("ulozka.txt","w+");
if(fptr==NULL){
printf("Error opening file!");
getchar();
}
printf("Ukladani...");
for(i=0;i<n;i++)
{
fprintf(fptr,"%d,%s,%d,%s\n",p->empid,p->name,p->salary,p->ph);
p=p+1;
}
fclose(fptr);
exit(0);
}
필요한 모든 데이터를 주 함수에로드하여 작업 할 수 있습니다.
는는 편집 : 나는 내 코드의 나머지 부분을 추가 해요 는 :
는typedef struct employee
{
char name[20],ph[20];
int empid,salary;
}emp;
void main()
{
emp e;
emp *p;
int n=0,ch;
p=&e;
}
내가 만드는 데 필요한 기능에서 "뭔가"...
void nacti(emp *p,int n)
{
int i;
FILE *fptr;
fptr=fopen("ulozka.txt","r");
if(fptr==NULL){
printf("Error opening file!");
getchar();
}
printf("Nacitani...");
//loading function
p=p+n;
fscanf(fptr,"%d,%[^\,],%d,%s", &p->empid, p->name, &p->salary,p->ph);
printf("%s", p->name);
}
나는 기능을 필요로하는 collumns 및 행 (첫 번째 행의 데이터를 ap에 추가 한 다음 p 값을 1 씩 증가시키고 두 번째 행의 데이터를 삽입하는 루프 등)로 txt 파일의 데이터를 읽습니다.
는
안녕하세요, 오신 것을 환영합니다! 지금까지 시도한 것에 대한 몇 가지 코드를 보여 주시면 조사에 약간의 노력을 기울 였음을 알 수 있습니다. –
sejv (파일로 저장)에서 시작하여 "파일에서로드"기능을 만들 수 있습니다. 그냥 fscanf 함수를 사용하십시오. 인터넷 검색으로 너무 많은 예가 있습니다. –
동일한 프로그램에 main을 쓰려면 fscanf (filepointer, "% d, % s, % d, % s", 변수)가 속임수를 쓸 것입니다. –