우리 중 많은 사람들이 scanf 의 전통적인 용도를 알고 있습니다. 글쎄,여기에 덜 알려진 사실 중 일부입니다

우리가 필요로하는 입력의 일부만 읽는 방법? 예를 들어 정수 또는 플로트 뒤에 문자 만 포함하는 일부 입력 스트림을 생각해보십시오. 그리고 우리는 그 정수 또는 부유물 만 스캔해야합니다.
즉,
Input:”this is value100″,
Output:value read is100

Input:”this is value21.2″,
Output:value read is21.,/div>, &a);

printf("Input value read : a = %d", a);
return0;
}



,이제 아마도 우리는 알지 못한 것 앞의 문자는 그러나 우리는 확실히 알고 있는 마지막 값은 정수입니다., 마지막 값을 정수로 어떻게 스캔 할 수 있습니까?

아래 솔루션은 입력 문자열에 공백이없는 경우에만 작동합니다.,

, &a);

printf("Input value read : a=%d",a);
return 0;
}



Explanation: The %*s in scanf is used to ignore some input as required., 이 경우 다음 공백이나 새 줄까지 입력을 무시합니다. 마찬가지로%*d 를 쓰면 다음 공백이나 새 줄까지 정수를 무시합니다. 위의 사실은 언뜻보기에 유용한 트릭으로 보이지 않을 수도 있습니다. 사용법을 이해하려면 먼저 fscanf()를 살펴 보겠습니다.

fscanf():파일에서 읽을 수있는 모든 clumpsy 구문에 지쳤습니까? 글쎄,fscanf 는 구조에 온다.

int fscanf(FILE *ptr, const char *format, ...) 

fscanf 는 입력 스트림에서 읽는 대신 파일 포인터(ptr)가 가리키는 파일에서 읽습니다.

다음 텍스트 파일 abc 를 고려하십시오.,txt

NAME AGE CITYabc 12 hyderbadbef 25 delhicce 65 bangalore 

이제 우리가 원하는 읽기 전시장의 위에 텍스트 파일을 무시하고 다른 모든 필드가 있습니다. 의 조합 fscanf 및 트릭 위에서 언급이 용이하게



출력:

CITYhyderbaddelhibangalore 

동:의 단어 수 계산, 캐릭터와에서 라인을 사용하여 파일 fscanf!

이 기사는 Nikhil Chakravartula 가 기고 한 것입니다., 는 경우 다음과 같 GeeksforGeeks 및 참여하고 싶다면,당신은 또한 문서를 작성하고 메일로서 귀하의 문서 [email protected]. 시 기사에 나오는 GeeksforGeeks 메인 페이지 및 도움말 기타 괴짜입니다.