字符数组中查找字符串或字符数组

时间:2022-07-01 06:26:28

从fread读文件内容到char*中,可能是包含很多'\0'字符的。此时用一些字符串类去format这个char*会出现读取不完整的问题,因为字符串碰到‘\0’字符就结束了。

可以从以下2个方法去查找该char*中的字串。

1.vc方法
  //先用CString拼接
char* fpbuff; int FileSize; CString str; for (int i = 0; i < FileSize; i++) { if (fpbuff[i] == 0) str += ' '; else str += fpbuff[i]; } //然后去find子字符串 2.c语言方法 int FindString(char * pSrc, int srcSize, char * pDest, int dstSize) { int iFind = -1; for(int i=0;i<srcSize;i++){ int iCnt = 0; for (int j=0; j<dstSize; j++) { if(pDest[j] == pSrc[i+j]) iCnt++; } if (iCnt==dstSize) { iFind = i; break; } } return iFind; }