У меня есть структура с массивом указателей. Я хотел бы вставить в массив цифры в строковом формате, т.е. "1", "2" и т.д..
Однако есть ли разница в использовании sprintf или strncpy?
Любые большие ошибки с моим кодом? Я знаю, что должен позвонить бесплатно, я сделаю это в другой части моего кода.
Большое спасибо за любой совет!
struct port_t
{
char *collect_digits[100];
}ports[20];
/** store all the string digits in the array for the port number specified */
static void g_store_digit(char *digit, unsigned int port)
{
static int marker = 0;
/* allocate memory */
ports[port].collect_digits[marker] = (char*) malloc(sizeof(digit)); /* sizeof includes 0 terminator */
// sprintf(ports[port].collect_digits[marker++], "%s", digit);
strncpy(ports[port].collect_digits[marker++], digit, sizeof(ports[port].collect_digits[marker]));
}