2012-11-13 3 views
0

내가 파일에서이 텍스트 읽고 있어요 :C : fscanf 문제를 포함하여 개행 문자

file1: file2,file3,file4 
file10: testfile.h 
file1: file9 

및 분할 그것을

while(fscanf(fp,"%[^:]: %s",map[i].name, map[i].filesNeeded) == 2) 
{ 
    printf("%s %s",map[i].name, map[i].filesNeeded); 
    i++; 
} 

문제는 두 번째와 세 번째 변수는 선두와 함께 저장된다는 것입니다 개행 문자 :

Details:{name = "\\nfile10", '\\000' <repeats 56 times>, filesNeeded = "testfile.h", '\\000' <repeat 

줄 바꿈 문자없이 저장할 수 있습니까? " %[^:]: %s "

while(fscanf(fp," %[^:]: %s ",map[i].name, map[i].filesNeeded) == 2) 

는 scanf의 공간에 대한

답변

2

추가 공간은 공백 문자, 집계 문자, 줄 바꿈 문자

을 흡수