У меня есть символ arraym char Вход [200];typcasting массив символов в const char *
ввод теперь имеет строку «abc.txt».
У меня есть метод, который строго нуждается в const char *, как я могу преобразовать свой входной массив в const char *.
Я пробовал использовать его и передавать его, но, используя GDB, я чувствую, что, поскольку остальные 192 слота на входе заполнены мусором (или пустыми), его не принимает функция. Когда я передаю строковый литерал «a.txt» к функции, она работает. поэтому в этот момент я хотел бы извлечь заполненные элементы из входного массива и преобразовать его в const char *.
Я принимаю входные данные как имя файла от пользователя, поэтому я использовал массив символов для хранения ввода.
int main()
{
char *name;
char input[1024];
strcpy(input, argv[1]);
name = input;
sys_open(input, "O_RDWR", 00700);
}
Как я уже сказал в комментарии к моему ответу, второй аргумент 'open' (или в этом случае' sys_open' (который вы не должны называть напрямую)) ** не ** строка. –
const char * filename, int flags, int mode. Это 3 параметра – user1888502
Да, так почему вы передаете второй аргумент как строку? –