내가 같은 형식의 여러 고객 레코드 파일이 포함 된이 확인 :다음 줄
CUSTOMER ...
details...
details...
CUSTOMER...
details...
details...
details...
CUSTOMER...
.
.
나는 두 가지로 파일을 분할 할 필요가있다. 현재 파일의 모든 줄을 계산하고 2
으로 나눈 다음 해당 줄이 CUSTOMER
문자열로 시작하는지 확인하십시오.
만약 그렇다면 고객 앞으로 모든 줄을 어떻게 인쇄 할 수 있습니까? 그렇지 않은 경우 다음 줄이 CUSTOMER
로 시작하면
및
는 어떻게 확인할 수 있나요?
내 코드 :
int main(int argc, char *argv[])
{
char ioarea[1000];
int TotCustLines=0,i=0;
int reqLine=0;
int getLine=0;
if((inFile=fopen(argv[inFileName],"r"))==NULL)
printf("Failed to open input file");
while(fgets(ioarea,BUFFER_SIZE,inFile))
{
TotCustLines++;
}
}
if(TotCustLines/2==0)
reqLine=(TotCustLines/2);
else
reqLine=(TotCustLines/2)+1;
fseek(inFile,1,SEEK_SET);
while(fgets(ioarea,BUFFER_SIZE,inFile))
{
getLine++;
if(getLine==reqLine)
{
if(strncmp(getLine,"CUSTOMER RECORD",15)==0)
//How to write all the lines before customer record.
//If not how can i check next line.
}
}
해결책을 제안하십시오. 나는 C 파일 개념이 처음이다.
들여 쓰기 코드 –
'(strncmp (의 getline, "고객 레코드", 15) == 0)'의 경우 ->'경우 (STRCMP (ioarea, "고객 RECORD \ 없음") == 0)' – chux
마 2 개의 새 파일을 만들고 원본 파일을 제거 하시겠습니까? – anatolyg