Я создал переменную char, называемую str, и я пытаюсь передать ее в функцию. Я продолжаю получать error cannot convert char (*)[1000] to char
**. Я знаю, что для cannot convert char to char *
вы просто используете &
перед символом, но я не могу понять, что делать в этом случае. Я искал стек и Google и не повезло. Есть идеи?не может преобразовать char (*) [1000] в char **
char str2[1000];
strcpy(str2, "/home/");
strcat(str2, pw->pw_name);
strcat(str2, "/Documents/test4.txt");
char bufTest[512];
int link = GetSymbolicLinkTarget(&str2, bufTest, sizeof(bufTest));
Вот функция
int GetSymbolicLinkTarget(char *argv[], char *buf, size_t buf_size){
int count = readlink(argv[1], buf, buf_size);
if (count >= 0) {
buf[count] = '\0';
}
return count;
}
"Я создал переменную char, называемую' str', и я пытаюсь передать ее в функцию "- какая функция? Единственными функциями, которые вы передаете в своем коде, являются 'strcpy()' и 'strcat()', ни одно из которых не может дать вам это сообщение об ошибке. –
char * argv [] означает двумерный массив. Вы не можете преобразовать в char **, поскольку оба они разные. –
Моей идеей было бы: если вы собираетесь писать C++, напишите реальный C++. Я бы начал с: 'std :: string GetSymbolicLinkTarget (std :: string const & input);' –