2
I 입력 5 개 회선이 있고 난 단지 그 두 가지를 사용하여 신경 (그들은 텍스트 파일에있어) :scanf를 사용하여 입력 데이터의 다음 줄에서 입력을 얻으려면 어떻게해야합니까?
1 -- input function one
L 123.0 21.0
2 -- input function 2
2.0 3.0
3.0 2.0
내가 첫 번째 줄에서 1를 사용하려면, 다음 내가 원하는 내가 라인 2를 사용 한 후 3
가 다시 나는이 라인과 사용 라인의 끝으로 건너 뛸 내가 수를 줄 2을 읽을 수 2
라인으로 넘어가 네와 다섯.
저는 getchar(), scanf, if 및 while을 사용하여이 작업을 수행 할 수 있습니다. 여기 내 코드의 일부입니다. 단지 작동 시키려고합니다. 나는 그런
scanf("%d -- input function one\n", &j)
을 넣으면
int
main(int argc, char *argv[]) {
char ch;
int j;
if(scanf("%d", &j) == 1){
printf("Got %d lines\n", j);
}
scanf("%c", &ch);
printf("%c", ch);
return 0;
}
내가 할 위치를 결국 있지만 경우에 '-'물건 ' "는 scanf에서 % D 후 정확한 문구입니다 .
줄 끝까지 건너 뛸 수있는 방법이 있습니까? 출력을 얻을 :
있어 1 개 라인
L
"% * [^ \ n] s"이 (가) 무엇인지 모르겠지만 이것이 효과가있는 것 같습니다. – Doogesle
'*'한정자의 의미 : "선택적 시작 별표는 데이터가 스트림에서 읽히지 만 무시됩니다 (즉, 인수가 가리키는 위치에 저장되지 않음)." –
"[^ \ n] s"의 의미 :''\ n ''이 아닌 모든 문자를 읽고' '\ n' '에서 멈 춥니 다. –