2012-09-25 4 views
0

fscanf가 공백이나 새 줄을 읽을 때를 알 수있는 방법이 있는지 알고 싶습니다.fscanf가 공백이나 새 줄을 읽을 때를 알 수있는 방법이 있습니까?

예 : 형식 단어를 물어 기울임 링크는 줄 바꿈 또는 (% s을 (를) 사용) 공백을 충족까지, 그것 이후와 이전에 서식과 공간을 읽을 수 있습니다 문자열을 읽어 fscanf으로

을 반환 . 문제는 그것이 공간을 읽는다는 것을 알 수있는 방법이 있습니까? 그리고 두 번째 줄에 들어가면 캐리지 리턴을 읽는 방법을 알 수 있습니다.

+0

대답은 '아니오'입니다. 그런 것을 알고 싶다면 직접 입력 내용을 분석해야합니다. –

+0

대신에'getline' 또는'fgets'을 사용하여 한 줄의 입력을 얻은 다음 적절하게'sscanf' 또는'atoi'로 줄을 구문 분석하십시오. – nneonneo

+0

그게 내가 생각한 것입니다, 나는 그 선을 잡고 전체 라인을 파싱하기를 선택 했었습니다. 그러나 시작하기 전에 더 쉽고 간단한 방법이 있는지, 짐 Balter와 nneonneo가 감사하는지보기로 결정했습니다. – user1493813

답변

1

공백을 읽고 무시하는 대신 fscanf가 변수에 공백을 읽을 수 있습니다. 과 같은 것을 사용하지만 해당 표현식에 더 많은 문자를 포함해야합니다. 로케일 및 런타임 문자 집합의 일부 기능에 따라 적절한 형식 문자열을 사용하기 전에 한 번 계산하기 위해 별도의 함수를 작성해야 할 수 있습니다.

다른 종류의 공백과 구별해야하는 경우 방금 완료 한 공백을 포함하는 변수가 있습니다. 필요에 따라 그 안에있는 모든 \ n 문자를 셀 수 있습니다.

관련 문제