1 Star 5 Fork 3

telrobgit/cbytevm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
abc.c 1.10 KB
一键复制 编辑 原始数据 按行查看 历史
telrobgit 提交于 2021-12-25 21:28 . no commit message
#include<stdio.h>
#include<stdarg.h>
#include <string.h>
int pattern(char*fmt,char*result,int index,int*start,int*end){
char temp=0;
int fmtStart=-1;
do{
temp=fmt[index];
index++;
if(fmtStart>=0&&(temp=='d'||temp=='s'||temp=='x'||temp=='X')){
result[fmtStart]=temp;
result[fmtStart+1]=0;
*end=index-1;
break;
}
if(temp=='%'){
*start=index-1;
fmtStart=0;
}
if(fmtStart>=0){
result[fmtStart]=temp;
fmtStart++;
}
}while(temp!=0);
return fmtStart;
}
int main(){
char *str = "%dHello World number:%d,address:%s age:%02d \r\n";
char buf[20]={0};
int index=0;
int start;
int end;
printf("%s\r\n",str);
printf("-------start------\r\n");
char temp[1000]={0};
while(1){
int ret=pattern(str,buf,index,&start,&end);
if(ret<0){
break;
}
printf("index:%d,start:%d,end:%d\r\n",index,start,end);
memset(temp,0,1000);
strncpy(temp,str+index,(start-index));
printf("**** %s\r\n",temp);
printf("fmt:%s\r\n",buf);
index=end+1;
}
//printf("result:%d %s,start:%d end:%d\r\n",ret,buf,start,end);
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/telrobgit/cbytevm.git
git@gitee.com:telrobgit/cbytevm.git
telrobgit
cbytevm
cbytevm
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385