gpt4 book ai didi

c - 如何将字符串读入空指针?

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:02 27 4
gpt4 key购买 nike

我一直在尝试从 C 中的空指针内的用户读取字符串形式的输入。所以我写了如下内容:

void *ptr;
ptr = calloc(100,sizeof(char));
printf("Enter the string: ");
fgets(*((char *)ptr),100,stdin);
printf("You entered ");
puts(*((char *)ptr));

我知道我可能没有以正确的方式进行操作,所以任何人都可以帮助我展示在 void 指针中获取字符串输入的正确方法吗?我想要一些东西作为

输入:- 输入字符串:欢迎用户

输出:- 你输入:欢迎用户

最佳答案

只需将 void* 转换为 char*:

void *ptr;
ptr = calloc(100,sizeof(char));
printf("Enter the string: ");
fgets((char*)ptr,100,stdin);
printf("You entered ");
puts((char*)ptr);

fgetsputs 将指针作为第一个参数,因此您可以使用 (char*)ptr 来转换指针。

如果你写 *((char*)ptr) 你把 void 指针当作一个 char 指针,但也用 * 解引用它,这会给你第一个特点。这不是您想要的。

关于c - 如何将字符串读入空指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22760878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com