社区
C语言
帖子详情
请教sscanf的用法,谢谢
freegoal
2003-06-02 11:05:35
我有这样的一个字符串,"typeid|engstr|gbstr|big5str|",其中包含了四个以 '|'隔开的子字符串,如何能否很方便的获取这四个字符串?,我用下面这个语句,可是不行
_stscanf(svOne, _T("%s|%s|%s|%s|"), svID, svEn, svGb, svB5);
请问如何做?
...全文
56
9
打赏
收藏
请教sscanf的用法,谢谢
我有这样的一个字符串,"typeid|engstr|gbstr|big5str|",其中包含了四个以 '|'隔开的子字符串,如何能否很方便的获取这四个字符串?,我用下面这个语句,可是不行 _stscanf(svOne, _T("%s|%s|%s|%s|"), svID, svEn, svGb, svB5); 请问如何做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yzb1000
2003-06-06
打赏
举报
回复
大开眼界
howard_sz
2003-06-06
打赏
举报
回复
[^|] 表示不接收'|'字符,遇到'|’就会结束
[^|]| 表示不接收'|'字符,但遇到'|’不会结束
freegoal
2003-06-02
打赏
举报
回复
to howard_sz(frank):
非常感谢,你的方法果然可以。能否详细解释一下这些字符的意义?谢谢
howard_sz
2003-06-02
打赏
举报
回复
char string[] = "typeid|engstr|gbstr|big5str|";
sscanf(string,"%[^|]|%[^|]|%[^|]|%[^|]|s",str1,str2,str3,str4);
howard_sz
2003-06-02
打赏
举报
回复
char string[] = "typeid|engstr|gbstr|big5str|";
sscanf(string,"%[^|]|%[!|]|%[^|]|%[!|]|s",str1,str2,str3,str4);
zw741027
2003-06-02
打赏
举报
回复
都是字符串,没有办法通过%s|%s...实现拆分,自己写个split函数,将结果集拆到数组中去
char destgrp[10][10];
static int splitstr(char subchar, char *psStr, char *pdstr, int subsize)
{
char *ptmp = psStr, *ptmp1;
int substrlen, icount = 0;
while ((ptmp1 = strchr(ptmp, subchar)) != NULL)
{
substrlen = ptmp1 - ptmp;
memcpy((void *)&pdstr[subsize * icount]
, (const void *)ptmp
, (size_t)MIN(substrlen, subsize));
ptmp = ptmp1 + 1; /* add sizeof(char) */
icount += 1;
}
substrlen = strlen(ptmp);
memcpy((void *)&pdstr[subsize *icount], (const void *)ptmp
, (size_t)MIN(substrlen, subsize));
icount += 1;
return icount;
}
splitstr('|', 源串,destgrp, 10);
idontlikenickname
2003-06-02
打赏
举报
回复
sigh~~~怎么老是这类问题?
#include <string.h>
#include <stdio.h>
char string[] = "typeid|engstr|gbstr|big5str|";
char seps[] = "|";
char *token;
void main( void )
{
token = strtok( string, seps );
while( token != NULL )
{
printf( "%s\n", token );
token = strtok( NULL, seps );
}
}
typeid
engstr
gbstr
big5str
pzytony
2003-06-02
打赏
举报
回复
先用fgets()读一行下来。
逐个找"|"
freegoal
2003-06-02
打赏
举报
回复
help
2023XTU程设练习1
写的最最吐血的一道题,也是最最ex的一道写了三天,每天写了...这个也是
请教
了大佬然后就是strtok()和s
scanf
()的使用,找了很多资料,用于拆分字符串还有union和intersection方法的使用断点调试的使用更加熟练了。
Matlab串口通信
最近在做串口通信的实验,串口连接都已经完成,我的仪器需要发送一个16位进制数才能返回一个数据,我需要发送的16进制数为‘4053 0000 0d0a’,我用fwrite来发送,用fread来读取,未能成功,
请教
罗老师该怎么修改?...
海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一)
相机方面选择了海康威视,网上关于海康威视工业相机SDK的开发资料很少,自己也摸索了一段时间,
请教
大佬,终于有了些收获,记录下来,方面以后查阅。 目录1.说明1.1软硬件相关配置1.1.1硬件选择1.1.2软件选择1.2...
进阶题73 纯粹合数
明明的爸爸是一位数学家,明明受他爸爸的影响从小就喜欢数学,经常向他爸爸学习或
请教
数学问题。 一天,明明问他爸爸什么是合数,明明的爸爸回答说:“首先,合数都是大于1的整数,其次合数是除了1和其本身外,还能...
C++中Txt文件读取和写入(方法汇总)
一、ASCII 输出 为了使用下面的方法, 你必须包含头文件 (译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, <iostream.h> 已经被...
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章