64,267
社区成员
发帖
与我相关
我的任务
分享
int main(int argc, char* argv[])
{
char s[] = "^FO150,50^A0,32,32^FDLight Engine^FS^FO150,100^A0,32,32^FDLight Engine^FS^FO150,150^A0,32,32^FDLight Engine^FS";
char res[260];
char *prev = s;
char *cur = strstr(prev, "^FS");
while (NULL != cur)
{
strncpy(res, prev, cur - prev);
res[cur - prev] = '\0';
strcat(res, "^FS");
std::cout << res << std::endl;
cur += 3;
prev = cur;
cur = strstr(prev, "^FS");
}
std::system("pause");
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <tchar.h>
typedef const TCHAR *LPCTSTR;
LPCTSTR printTxt=_T("^FO150,50^A0,32,32^FDLight Engine^FS^FO150,100^A0,32,32^FDLight Engine^FS^FO150,150^A0,32,32^FDLight Engine^FS");
#define MAXSUBLEN 256 //每个子串的最大长度
#define MAXSUBSTR 100 //最多子串数
TCHAR s[MAXSUBSTR][MAXSUBLEN];
TCHAR *p,*p1;
int i,n,L;
int main() {
i=0;
p1=(TCHAR *)printTxt;
while (1) {
p=_tcsstr(p1,_T("^FS"));
if (NULL==p) break;
L=__min(MAXSUBLEN-1,p-p1+_tcslen(_T("^FS")));
_tcsncpy(s[i],p1,L);s[i][L]=0;
p1=p+_tcslen(_T("^FS"));
i++;
if (i>=MAXSUBSTR) break;
}
n=i;
for (i=0;i<n;i++) {
_tprintf(_T("%s\n"),s[i]);
}
return 0;
}
//^FO150,50^A0,32,32^FDLight Engine^FS
//^FO150,100^A0,32,32^FDLight Engine^FS
//^FO150,150^A0,32,32^FDLight Engine^FS
//
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char str[] = "^FO150,50^A0,32,32^FDLight Engine^FS^FO150,100^A0,32,32^FDLight Engine^FS^FO150,150^A0,32,32^FDLight Engine^FS";
char *p;
p = strtok(str, "S");
while(p)
{
printf("%sS\n", p);
p = strtok(NULL, "S");
}
return 0;
}