我想将指针 char* name
放入 char* path
。我正在从 scanf 获取 name 的值。可能吗?
char* path = "/home/user/Desktop/name.jpg";
我知道这是错误的,但我希望它以这种方式工作
最佳答案
我假设你的意思是你有:
char *name = "fred";
char *format = "/home/user/Desktop/name.jpg";
你想接受它,然后做一些这样你就会得到这样的结果:
char *result = "/home/user/Desktop/fred.jpg";
为此,您需要分配一些内存(或在其他地方分配足够的内存),然后使用sprintf()
或snprintf()
:
char *name = "fred";
char *format = "/home/user/Desktop/%s.jpg";
char *result = malloc(strlen(format) - 2 + strlen(name) + 1);
sprintf(result, format, name);
printf("%s\n", result); // Output is "/home/user/Desktop/fred.jpg"
关于c - 如何将指向 char 的指针放入另一个指向 char 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749013/