问题: 最近要处理一些格式化的名称,格式如下 Familiy Name
;Given Name;Additional Name;Name Prefix;Name Suffix 比如 Na;Po Lun;Jr.;Sr.;Esq.=====>实际上转化后为 Sr Na Po Lun Jr. Esq. 解决思路: 使用c库函数sscanf
int sscanf ( char * str, const char * format, ...);
网上有很多关于参数format的说明 经过尝试后,写出了下面简单的一段代码。 例子:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char fn[40] = {0};
char n[40] = {0};
char an[40] = {0};
char np[40] = {0};
char ns[40] = {0};
//char *name = "Na;Po Lun;Jr.;Sr.;Esq.";
char *name = "Na;Po Lun;Jr.;Sr.";
printf("name is %s/n", name);
sscanf(name, "%[^;];%[^;];%[^;];%[^;];%s", fn, n, an, np, ns);
printf("fn is %s/n", fn);
printf("n is %s/n", n);
printf("an is %s/n", an);
printf("np is %s/n", np);
printf("ns is %s/n", ns);
return 0;
}