반응형
루프에서 sscanf를 사용하는 방법?
당신과 함께 끈을 묶을 수 있는 좋은 방법이 있나요?sscanf?
예를 들어 제게 이런 형태의 문자열이 있다고 가정해 보겠습니다.
char line[] = "100 185 400 11 1000";
그리고 저는 그 합계를 인쇄하고 싶습니다.제가 정말 쓰고 싶은 것은 다음과 같습니다.
int n, sum = 0;
while (1 == sscanf(line, " %d", &n)) {
sum += n;
line += <number of bytes consumed by sscanf>
}
그 정보를 빼낼 방법이 없어요sscanf. 소비된 바이트 수를 반환한다면 유용할 것입니다.이런 경우에는 그냥.strtok, 하지만 여러분이 할 수 있는 것과 비슷한 것을 쓸 수 있다면 좋을 것 같습니다.stdin:
int n, sum = 0;
while (1 == scanf(" %d", &n)) {
sum += n;
// stdin is transparently advanced by scanf call
}
제가 잊고 있는 간단한 해결책이 있을까요?
찾아보세요.%n가족에 대한 변환 지정자.필요한 정보를 알려줍니다.
#include <stdio.h>
int main(void)
{
char line[] = "100 185 400 11 1000";
char *data = line;
int offset;
int n;
int sum = 0;
while (sscanf(data, " %d%n", &n, &offset) == 1)
{
sum += n;
data += offset;
printf("read: %5d; sum = %5d; offset = %5d\n", n, sum, offset);
}
printf("sum = %d\n", sum);
return 0;
}
배열 이름을 증가시킬 수 없으므로 'line'을 'data'로 변경했습니다.
언급URL : https://stackoverflow.com/questions/3975236/how-to-use-sscanf-in-loops
반응형
'programing' 카테고리의 다른 글
| 리소스 폴더에서 정적 이미지를 제공할 수 없는 Spring Boot (0) | 2023.09.25 |
|---|---|
| WooCommerce:체크아웃시 메타추가(상품의 경우) (0) | 2023.09.25 |
| microsoft.interop.excel셀포맷팅셀 (0) | 2023.09.25 |
| XElement의 InnerXml을 얻는 가장 좋은 방법은? (0) | 2023.09.25 |
| Java에서 Excel 차트 만들기 (0) | 2023.09.25 |