How To sscanf() Example Using a Comma (,) as Delimiter

คำแถลงการณ์ปฏิเสธความรับผิดชอบเนื้อหา KB ที่เกษียณ

บทความนี้มีเนื้อหาเกี่ยวกับผลิตภัณฑ์ที่ Microsoft ไม่ได้ให้การสนับสนุนอีกต่อไป ดังนั้น บทความนี้จึงเสนอเนื้อหา "อย่างที่เป็น" และจะไม่มีการปรับปรุงเนื้อหาอีกต่อไป


The example below shows how to use the sscanf() C run-time function to read from an internal buffer delimiting fields with a comma (,). The key is to use the brackets in the format of sscanf() function. The format will be %[^','], which tells the function to read from the buffer until a comma (,) is reached.

Sample Code

/* The following sample illustrates the use of brackets and the
caret (^) with sscanf().
Compile options needed: none

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

char *tokenstring = "first,25.5,second,15";
int result, i;
double fp;
char o[10], f[10], s[10], t[10];

void main()
result = sscanf(tokenstring, "%[^','],%[^','],%[^','],%s", o, s, t, f);
fp = atof(s);
i = atoi(f);
printf("%s\n %lf\n %s\n %d\n", o, fp, t, i);

รหัสบทความ: 38335 - การตรวจสอบครั้งสุดท้าย: 17 มิ.ย. 2014 - ฉบับแก้ไข: 1