将字符数组编入const char*

use*_*502 5 c pointers const

我有一个字符数组char输入[200];

截至现在的输入有字符串"abc.txt".

我有一个严格需要const char*的方法,如何将我的输入数组转换为const char*.

我尝试了它,然后传递它,但是在使用GDB时,我觉得因为输入中剩下的192个插槽充满了垃圾(或者是空的),所以它不被函数接受.当我将字符串文字"a.txt"传递给它起作用的函数时.所以在这一点上我想从输入数组中提取填充的元素并将其转换为const char*.

我将输入作为用户的文件名,因此我使用char数组来存储输入.

   int main()
    {
    char *name;

    char input[1024];
    strcpy(input, argv[1]);

    name = input;

    sys_open(input, "O_RDWR", 00700);


    }
Run Code Online (Sandbox Code Playgroud)

Geo*_*rid 10

你应该能够直接传递它.char []可以转换为const char*,但反之亦然.

你在gdb中看到所有垃圾的原因是因为数组没有预先初始化为包含任何东西,所以你只是看到之前的垃圾.只要您的字符串以null结尾,它应该没问题.