2017-01-13 6 views
-2

메신저 (아마도 fgets를 사용하여) 프로그램에서 액세스하는 파일의 동일한 줄에서 6 개의 다른 문자열을 검색하려고합니다. 나는 6 개의 문자열을 유지하기 위해 다음과 같은 구조체를 사용 : 누군가가 내가 파일에서 한 라인을 스캔 할 수있는 일에 저를 도울 수, 그리고 (3) 문자열과 내가 할당 할 수있는 3 개 자리가됩니다 경우파일에서 같은 줄의 여러 문자열을 검색 (C)

struct _entry { 
    char subject[10]; 
    char prof_name[10]; 
    char prof_surname[10]; 
    int period; 
    int credits; 
    int pass_rate; 
}; 
struct _entry entry[MAX_LINES]; 

각각의 구조체 값에 적용합니다. 사용하는 라인으로

+1

사용'는 fgets()가'라인의'sscanf를 읽을은()'또는'strtok를()'별도의 필드로 구문 분석합니다. – Barmar

+0

이전에'scanf'를 사용 했습니까? 하나의 형식 문자열로 모든 문자열과 숫자를 읽는 데 사용하십시오. –

+0

@Someprogrammerdude ** [scanf를 사용하지 마십시오!] (http://stackoverflow.com/questions/17294809/reading-a-line-using-scanf-not-good) ** –

답변

0

읽기 파일 라인 -

fgets() or getline 

(의 getline()는 이식 할 수 없습니다의 유일한 리눅스 기반 응용 프로그램에 대한.)

구문 분석 라인 사용 -

strtok or strtok_r or sscanf 

파싱 된 문자열을 안으로 변환 teger 일 아민

atoi