\C
formatline.c
/* programmed by: Josh Santomieri Santomieri Systems joshs@santsys.com This function takes a line of text (tcLine), a buffer for the new line (tcNewLine) a find string (tcFind) and a replace string (tcReplace). The tcNewline recieves a string with all of the tcFind replaced with tcReplace. */ int FormatLine(TCHAR *tcLine, TCHAR *tcNewLine, TCHAR *tcFind, TCHAR *tcReplace) { int iLen, iFindLen, iReplaceLen; int i = 0, j = 0, k = 0, l = 0; iLen = (int)strlen(tcLine); iFindLen = (int)strlen(tcFind); iReplaceLen = (int)strlen(tcReplace); if(iLen <= 0 || iFindLen <= 0 || iReplaceLen <= 0) return 0; if(strstr(tcLine, tcFind) == NULL) return 1; if(iFindLen == 1) { while(i < iLen) { if(*(tcLine+i) == *(tcFind)) { strcat(tcNewLine, tcReplace); k += iReplaceLen - 1; } else *(tcNewLine+k) = *(tcLine+i); i++; k++; } } else { j = 0; i = 0; k = 0; while(i < iLen) { if(*(tcLine+i) == *(tcFind+j)) { l = i; while(*(tcLine+l) == *(tcFind+j)) { j++; l++; } if(j == iFindLen) { strcat(tcNewLine, tcReplace); k += (iReplaceLen); i += iFindLen; } else { *(tcNewLine+k) = *(tcLine+i); k++; i++; } j = 0; } else { *(tcNewLine+k) = *(tcLine+i); k++; i++; } } } return 1; }