C-如何将指针值复制到非指针
因此,我使用一个代码来替换字符串。但必须是这样C-如何将指针值复制到非指针,c,C,因此,我使用一个代码来替换字符串。但必须是这样 char *a = "s0me string"; char *b = repl_str(a,"0",o"); printf(b); 它正在工作,但我想将其用作非指针。那么有没有办法将指针值复制到非指针? 我想这样做 char *a = "* string"; char *b = repl_str(a,"*","a"); char c[]=b; printf(c); 显然,最后一个代码不起作用。我得到这个错误: s.c:93:10: error:
char *a = "s0me string";
char *b = repl_str(a,"0",o");
printf(b);
它正在工作,但我想将其用作非指针。那么有没有办法将指针值复制到非指针?
我想这样做
char *a = "* string";
char *b = repl_str(a,"*","a");
char c[]=b;
printf(c);
显然,最后一个代码不起作用。我得到这个错误:
s.c:93:10: error: invalid initializer
char c[]=b;
我将此代码用于replace命令。顺便说一句,如果我在描述我的问题时犯了错误,我很抱歉。假设
repl\u str
会在适当的位置修改字符串
char a[] = "* string";
char *b = &a[0];
repl_str(b,"*","a");
printf(a);
我能想到的唯一方法是使用VLA(可变长度数组):
但是您不能直接赋值(您需要使用strcpy复制内容),换句话说:。您能解释一下您想用它实现什么吗?
char *ptr = "Some string";
char str[strlen(ptr) + 1];
strcpy(str, ptr);
puts(str);