כיצד דוגמה sscanf() באמצעות פסיק (,) כמפריד

כתב ויתור על תוכן KB שהוצא משימוש

מאמר זה נכתב על מוצרים ש- Microsoft כבר לא תומכת בהם. לכן, מאמר זה מוצע "כפי שהוא" והוא לא יעודכן עוד.

סיכום


הדוגמה שלהלן מראה כיצד להשתמש בפונקציה זמן ריצה של sscanf() C לקרוא מתוך מאגר פנימי שתוחם את השדות בעזרת פסיק (,). המפתח הוא להשתמש הסוגריים המרובעים בתבנית של פונקציה sscanf(). התבנית תהיה % [^ ','], אשר מורה הפונקציה לקרוא מתוך המאגר עד שיגיע פסיק (,).

הקוד לדוגמה

/* 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 בינו׳ 2017 - תיקון: 1

משוב