la pista está en el título, pero básicamente he heredado un código que tiene más de 800 instancias de strcpy. Quiero escribir una nueva función y luego reemplazar strcpy con strcpy_mine.strcpy ... quiero reemplazar con strcpy_mine que terminará strncpy y null
Así que estoy tratando de determinar qué lista de parámetros tendrá strcpy_mine.
me trataron:
void strcpy_mine(char* pTarget, const char* const pCopyMe)
{
const unsigned int lenAlwaysFour = sizeof(pCopyMe); //:(
strncpy(pTarget, pCopyMe, lenAlwaysFour);
//add extra terminator in case of overrun
pTarget[lenAlwaysFour] = 0;
}
pero el sizeof es siempre 4 pCopyMe es un puntero
lo que no quiero hacer es sustituir
strcpy (buf, pCopyMe);
con
strncpy (buf, pCopyMe, sizeof(pCopyMe)); buf[sizeof(pCopyMe)] = 0;
alguna idea? (Strcpy_l no está disponible)
aplausos
¡salud!esto es casi lo que estoy buscando, pero aún me obliga a poner el tamaño del buffer en chevrones, aunque char buf [200]; strcpy_mine <200> (buf, pString); – timB33
strCpyMine (buf, pString); –
timB33
Entonces estás haciendo algo diferente. ¿Compilador obsoleto? – MSalters