Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言字符指针变量值到非指针字符数组值?_C_Arrays_Pointers - Fatal编程技术网

C语言字符指针变量值到非指针字符数组值?

C语言字符指针变量值到非指针字符数组值?,c,arrays,pointers,C,Arrays,Pointers,我正在用gcc编写一个程序,对base64编码的字符串进行解码 我不知道如何将mycustomvariable中的值赋给数组 示例:这是有效的: char myb64[1024] = "TXkgYm9ubmllIGlzIG92ZXIgdGhlICAgICAgICAgIA=="; char mydst[1024] = ""; 但我需要将mycustomstring变量中的值分配给myb64[1024]。所以我写了这个,编译时出错:error:invalid initializer char my

我正在用gcc编写一个程序,对base64编码的字符串进行解码

我不知道如何将mycustomvariable中的值赋给数组

示例:这是有效的:

char myb64[1024] = "TXkgYm9ubmllIGlzIG92ZXIgdGhlICAgICAgICAgIA==";
char mydst[1024] = "";
但我需要将mycustomstring变量中的值分配给myb64[1024]。所以我写了这个,编译时出错:error:invalid initializer char myb64[1024]=mycustomstring; ^


如何将mycustomstring中的值分配给myb64[1024]数组?我需要有*mycustomstring,因为它来自url和查询。

您需要将
mycustomstring
的内容复制到
myb64
<代码>strcpy就是这样做的函数。例如

char *mycustomstring = "TXkgYm9ubmllIGlzIG92ZXIgdGhlICAgICAgICAgIA==";
char myb64[1024];
strcpy(myb64, mycustomstring);

视情况而定。mycustomstring的类型是什么?谢谢。我需要…所以如果我得到正确的…字符串和任何类型都可以使用strcpy转换…所以如果我在内存中有int,我可以使用strcpy copy integer从内存到char变量。PHP很容易使用字符串和变量,但我现在明白了。我是c编程的新手…谢谢你的回答<代码>strcpy不执行转换。它只是将以nul结尾的字符串从源复制到dest(dest必须有足够的空间来容纳source+以nul结尾的字符)。要将整数复制到字符串,必须将整数转换为其ASCII表示形式。查看
sprintf
(或
strtol
atoi
,然后查看
strcpy
)。strcpy需要以null结尾的字符数组。您需要memcpy来复制表示int的字节数。这两个函数都复制原始字节而不执行转换
char *mycustomstring = "TXkgYm9ubmllIGlzIG92ZXIgdGhlICAgICAgICAgIA==";
char myb64[1024];
strcpy(myb64, mycustomstring);