Я пытаюсь правильно назначить указатель из программ **argv
. Когда я назначаю data
в основной функции, он работает нормально, но когда я пытаюсь поместить эту логику в отдельную функцию, это не так.Назначить указатель из argv в функции
Что я здесь делаю неправильно?
void parse_args(char *argv[ ], unsigned char *data, *data_len, *nprocs){
data = (unsigned char *)argv[1];
*data_len = strlen(argv[1]);
*nprocs = atoi(argv[2]);
}
int main(int argc, char **argv) {
unsigned char *data;
int data_len;
int nprocs;
// this doesnt work (for data)
parse_args(argv, data, &data_len, &nprocs)
// this works (for data)
data = (unsigned char *)argv[1];
}
Argh Я не видел «адрес» перед данными! Работаю сейчас. Если бы у меня было больше времени, я бы исследовал то, о чем вы говорили. @Marcus üller – ojhawkins