I는 다음과 같이 표시되는 파일 (표준 입력이나 파일 중 하나 인) INFILE에서 읽을 fscanf 사용하는 것을 시도하고있다 :독서 쉼표의
1,2,3
4,5,6
이 사실을 무시 할 그것들은 숫자입니다 - 저는 그것을 문자열로 표현하고 있습니다. 내가 무슨 짓을
내가 X, Y, Z에 저장됩니다, 각각의 해당 행에 숫자를 나타낸다는 것을 기대하고 있지만,이 작동하지 않습니다
fscanf(infile, "%s%*c %s%*c %s%*c[^\n]", x, y, z); where x, y, z are string variables.
을 사용했고, 대신 전체를 저장한다 x in line.
도움이 필요하십니까? 감사.
정규 표현식을 검사하는 많은 o 행 도구가 있습니다. http://www.freeformatter.com/regex-tester.html – Asaf
@Asaf'scanf'는 정규 표현식을 사용하지 않습니다. – jamesdlin
'fgets' (또는 사용 가능한 경우 getline)을 사용하여 전체 행을 읽고'strtok'을 사용하여 토큰 화하는 것이 더 나을 것입니다. 'scanf' (와'fscanf')는 올바르게 사용하기가 어렵기로 악명이 높습니다. – jamesdlin