Tag: substr

这是C的一个好的子系统吗?

另请参见C Tokenizer 这是我写的C的快速substr()(是的,变量初始化需要移动到函数的开始等,但你明白了) 我已经看到很多substr()的“智能”实现,简单的一行调用strncpy()! 它们都是错的(strncpy不保证空终止,因此调用可能不会产生正确的子字符串!) 这可能更好吗? 带出虫子! char* substr(const char* text, int nStartingPos, int nRun) { char* emptyString = strdup(“”); /* C’mon! This cannot fail */ if(text == NULL) return emptyString; int textLen = strlen(text); –nStartingPos; if((nStartingPos < 0) || (nRun <= 0) || (textLen == 0) || (textLen < nStartingPos)) return emptyString; char* returnString […]