2013-07-03 1 views
0

안녕 내가이동일한 매개 변수 목록을 포함하는 fscanf에 해당하는 c-runtime 함수가 있습니까?

while(fscanf(fp,"\n%d\t%s\t%s\t%X%X\t%d\t \n",&record.Index,record.Name,record.Empcode,&record.CSN_MSB,&record.AccessRights)!=EOF) 
{ 
    printf("\nIndex: %d\nEmployee Name: %s\nEmpcode: %s\nCSN: %X\nAccessRights: %d\n",record.Index,record.Name,record.Empcode,record.CSN_MSB,record.AccessRights); 
    sprintf(CSN_MSB_LSB,"%X", record.CSN_MSB); 
    if(strncmp(CSN_MSB_LSB,str,8)==0) 
    found=1;  
} 

같은 기능이 코드 내 fscanf 파일 포인터 (FD)에서 단 한 줄을 읽고, 나는이 파일의 모든 라인을 읽고 싶어. ,

while(fscanf(fp,"%d%s%s%X%X%[^\n]*c", 
      &record.Index,record.Name,record.Empcode, 
      &record.CSN_MSB,&record.AccessRights)!=EOF) 
    { 

비록 : 는 같은 fscanf 기능 그렇지 않으면 fscanf 기능에 대해 동일한 매개 변수 목록을 포함하는 모든 대안이 내가 종류의 무언가를 시도 할 것이다 나에게

답변

0

을 제안 해주십시오 나는 내가 할 수있는 방법 6 개의 항목을 스캔하고 5 만 저장한다는 사실은 주목할 가치가 있습니다. 또한 sscanf를 사용하여 문자에 대한 포인터를 가져 와서 파일 포인터 (파일 설명자)를 전달하면 파일에서 읽는 경우 fscanf를 사용하려고합니다. 마지막으로 스캔 한 번호는 저장되지 않습니다. "[^ \ n]"은 줄 바꿈까지 스캔하고 마지막으로 스캔 한 번호를 사용합니다 (예제에서는 저장하지 않지만). "* c"는 해당 줄 바꿈을 사용합니다. this을 참조하십시오.

+0

내 질문을 편집했습니다. (fscanf()) not sscanf – amar

관련 문제