다음과 같은 문제가 있습니다. sscanf
은 내가 원하는 방식으로 반환하지 않습니다.Sscanf가 원하는 것을 반환하지 않습니다.
sscanf(naru,
"%s[^;]%s[^;]%s[^;]%s[^;]%f[^';']%f[^';']%[^;]%[^;]%[^;]%[^;]"
"%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]"
"%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]",
&jokeri, &paiva1, &keskilampo1, &minlampo1, &maxlampo1,
&paiva2, &keskilampo2, &minlampo2, &maxlampo2, &paiva3,
&keskilampo3, &minlampo3, &maxlampo3, &paiva4, &keskilampo4,
&minlampo4, &maxlampo4, &paiva5, &keskilampo5, &minlampo5,
&maxlampo5, &paiva6, &keskilampo6, &minlampo6, &maxlampo6,
&paiva7, &keskilampo7, &minlampo7, &maxlampo7);
이 검사의 문자열 : 이것은 sscanf
입니다
char paiva1[22]
등으로 저장됩니다
const char *str = "city;"
"2014-04-14;7.61;4.76;7.61;"
"2014-04-15;5.7;5.26;6.63;"
"2014-04-16;4.84;2.49;5.26;"
"2014-04-17;2.13;1.22;3.45;"
"2014-04-18;3;2.15;3.01;"
"2014-04-19;7.28;3.82;7.28;"
"2014-04-20;10.62;5.5;10.62;";
; 그러나 sscanf
은 도시를 제외한 모든 것을 정확하게 저장하지 않습니다. 각 변수를 ;
에 멈추려 고했습니다. 날짜 등을 올바르게 저장하는 방법에 대한 도움을 주시면 감사하겠습니다.
또는 더 스마트 한 방법이 있다면 제안을 할 수 있습니다.
sscanf (naru, "% s [^;] % s [^;] ...'->'sscanf (naru,"% [^;]; – BLUEPIXY
항상 scanf 함수의 반환 값을 확인해야하며, 그와 같이 긴 형식의 문자열은 변경해야하는 경우 관리상의 악몽이 될 수 있습니다. – hyde
Yeesh,'; 그것. –