strcpy, strncpy,要拷贝末尾的0结束符
// 实现strcpy char* strcpy(char* strDest, char* strSrc) { if (strSrc == NULL || strDest == NULL) { throw "Invalid argument"; } char* strDestCp = strDest; while((*strDest++ = *strSrc++) != '\0'); return strDestCp; } // 功能:复制字符串,复制源中定长的字符串到目标字符串 char* strncpy(char* dest, char* src, size_t n) { if (dest == NULL || src == NULL) { throw "Invalid argument"; } char* destCp = dest; while(n > 0 && (*dest++ = *src++) != '\0') { n--; } return destCp; }
atoi():
// 实现atoi int atoi(char* str) { if (str == NULL) { throw "Invalid Input"; } while(*str == ' ' || *str == ' ') { str++; } // 确定符号位 int nSign = (*str == '-') ? -1 : 1; if(*str == '+' || *str == '-') { *str++; } int nResult = 0; while(*str >= '0' && *str <= '9') { nResult = nResult * 10 + (*str - '0'); *str++; } return nResult * nSign; }