gpt4 book ai didi

c - 使用 sscanf() 截断字符串

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:36 24 4
gpt4 key购买 nike

如果我想在“/”“@”之间获取一个子串,这个就可以了:

char buf[512] ="" ;
char src[512] = "iios/12DDWDFF@122";

sscanf( src, "%*[^/]/%[^@]", buf);
printf("%s\n", buf); //buf will be "12DDWDFF"

如何从“//^&#@iios////12DDWDFF@@@@122/&*@(@///”;

char buf2[512] ="" ;
char src[512] = "//^&#@iios////12DDWDFF@@@@122/&*@(@///";

sscanf(src, "%*[4][^/]/%[4][^@]", buf2);
printf("%s\n", buf2); //buf2 gets nothing

sscanf(src, "%*[^////]/////%[^@@@@]", buf2);
printf("%s\n", buf2); //buf2 gets nothing

最佳答案

你可以这样写你的sscanf语句——

if(sscanf(src,"%*[^0-9]%[^@]",buf2)==1)
{
//do something
}

%*[^0-9] 将读取直到遇到数字然后丢弃它,而 %[^@] 将读取到 buf2 直到遇到 @

Demo

关于c - 使用 sscanf() 截断字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com