코드 조각을 쓰고 있는데 그 중 일부는 파일에서 n 길이 배열로, "인수"로 주어진 "레코드"를 읽는 것입니다. 파일의 레코드는 길이가 일정하며 (이 경우 1024) 숫자, 공백 및 낮은 문자 만 포함합니다. 각 레코드는 \ n로 끝납니다. 내가 출력을 선택하면fread를 사용하여 파일에서 구조체로 데이터 읽기
record * recs=malloc(n*sizeof(record));
size_t read=fread(recs,sizeof(record),(size_t)n,f);
: 기록 중 N 추출 및 기록의 N 길이의 배열에 저장
typedef struct{
char rec[1024];
} record;
그리고 코드 이런 식으로 : 나는 하나 개의 기록을 유지하기 위해 다음과 같은 구조를 사용하고 있습니다 이 작업 중 array recs의 첫 번째 요소에는 배열의 각 요소에 하나를 유지하는 대신 모든 레코드가 포함되어 있고, 두 번째 요소는 첫 번째 요소를 제외한 나머지 요소가 포함됩니다. 배열의 다른 요소에 각 레코드를 저장해야한다고 생각했기 때문에 나는 잃어 버렸습니다.
if((f=fopen(argv[2],"r"))==NULL){
perror("error opening file\n");
exit(1);
}
for(int i=0;i<(int)read;i++){
printf("record number %d\n %s\n",i,recs[i].rec);
}
기록에서 기록하는 코드 및 '파일을 fopen's 것 또한 코드를 제시해주십시오. – dasblinkenlight
@ dasblinkenlight 귀하의 제안에 따라 제 질문을 수정했습니다. –
''r "'을''"rb "'로 변경하고 도움이되는지 확인하십시오. – dasblinkenlight