从 plugin_path 返回局部变量我该如何改变它
returning local variable from the plugin_path how i can chage it
先生,我使用了字符串连接过程,我认为如果文件名为“plugin1”,那么在那个文件中“plugin1.dll”就会在那里,所以我连接字符串的方式是输出“ C://DataViz//plugin1//plugin1.dll” 然后使用简单的 fopen 函数我检查给定路径中是否有文件,如果没有则“return NULL” 或 return “路径”.
#include <stdio.h>
#include <conio.h>
#include <string.h>
char* plugin_path(char filename);
int main(){
char *path;
char filename[] = "plugin";
path = plugin_path(filename);
printf("%s", path);
return 0;
}
char* plugin_path(char filename){
char plugin[] = "C:\data\";
char plugin1;
char *str = plugin1;
strcat(plugin, filename);
strcat(plugin," \ ");
strcat(plugin, filename);
strcat(plugin,".dll");
return str;
}
你能帮我写上面的代码吗
您应该为新字符串分配足够的大小,return指向分配区域的指针。
此外,您应该使用 const char*
,而不是 char
作为接收字符串的参数。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* plugin_path(const char* filename);
int main(){
char *path;
char filename[] = "plugin";
path = plugin_path(filename);
printf("%s", path);
free(path);
return 0;
}
char* plugin_path(const char* filename){
char plugin[] = "C:\data\";
const char* part1 = " \ ";
const char* part2 = ".dll";
/* +1 for terminating null-character */
char *str = malloc(strlen(plugin) + strlen(filename) * 2 + strlen(part1) + strlen(part2) + 1);
strcpy(str, plugin);
strcat(str, filename);
strcat(str, part1);
strcat(str, filename);
strcat(str, part2);
return str;
}
先生,我使用了字符串连接过程,我认为如果文件名为“plugin1”,那么在那个文件中“plugin1.dll”就会在那里,所以我连接字符串的方式是输出“ C://DataViz//plugin1//plugin1.dll” 然后使用简单的 fopen 函数我检查给定路径中是否有文件,如果没有则“return NULL” 或 return “路径”.
#include <stdio.h>
#include <conio.h>
#include <string.h>
char* plugin_path(char filename);
int main(){
char *path;
char filename[] = "plugin";
path = plugin_path(filename);
printf("%s", path);
return 0;
}
char* plugin_path(char filename){
char plugin[] = "C:\data\";
char plugin1;
char *str = plugin1;
strcat(plugin, filename);
strcat(plugin," \ ");
strcat(plugin, filename);
strcat(plugin,".dll");
return str;
}
你能帮我写上面的代码吗
您应该为新字符串分配足够的大小,return指向分配区域的指针。
此外,您应该使用 const char*
,而不是 char
作为接收字符串的参数。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* plugin_path(const char* filename);
int main(){
char *path;
char filename[] = "plugin";
path = plugin_path(filename);
printf("%s", path);
free(path);
return 0;
}
char* plugin_path(const char* filename){
char plugin[] = "C:\data\";
const char* part1 = " \ ";
const char* part2 = ".dll";
/* +1 for terminating null-character */
char *str = malloc(strlen(plugin) + strlen(filename) * 2 + strlen(part1) + strlen(part2) + 1);
strcpy(str, plugin);
strcat(str, filename);
strcat(str, part1);
strcat(str, filename);
strcat(str, part2);
return str;
}