Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.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_Char_Int - Fatal编程技术网

将递增的整数添加到字符数组的末尾。C

将递增的整数添加到字符数组的末尾。C,c,arrays,char,int,C,Arrays,Char,Int,我试图在C中创建一个字符数组,该数组的末尾将有一个整数值。但是我试图在循环过程中改变整数值 system("mv " + file_list[loca] + " /media/MyBook1TB/" + folderint); file_list[n][200] // is a char array of file locations folderint // folder increment variable example "/media/MyBook1TB/0" then "/medi

我试图在C中创建一个字符数组,该数组的末尾将有一个整数值。但是我试图在循环过程中改变整数值

system("mv " + file_list[loca] + " /media/MyBook1TB/" + folderint);

file_list[n][200] // is a char array of file locations
folderint //  folder increment variable example "/media/MyBook1TB/0" then "/media/MyBook1TB/1"
我不确定c.str是否适用于我在上面的系统中输入的内容

我在CPluPlus网站上找不到任何东西。有什么帮助吗


我试图不使用字符串库。

在C中,不能只是将字符串添加到一起来连接它们。您需要执行以下操作:

char system_string[LARGE_COMFORTABLE_NUM];

sprintf(system_string,"mv %s /media/MyBook1TB/%d",file_list[loca],folderint);

system(system_string);
char command[MAX_LENGTH];
sprintf(command, "mv %s /media/MyBook1TB/%d", file_list[loca], folderint);
system(command);
您没有指定文件列表是什么,因此需要定义自己的最大大小。还要注意的是%s假设file_list是一个字符串,%d假设folderInt是一个int


请注意,您发布的命令的性质似乎更适合shell脚本,但如果必须使用C,请查找exec函数。system是一个危险且效率低下的函数,尤其是在这种情况下,如果您没有清理输入。

在C语言中,您不能仅仅将字符串添加到一起来连接它们。您需要执行以下操作:

char command[MAX_LENGTH];
sprintf(command, "mv %s /media/MyBook1TB/%d", file_list[loca], folderint);
system(command);
您没有指定文件列表是什么,因此需要定义自己的最大大小。还要注意的是%s假设file_list是一个字符串,%d假设folderInt是一个int


请注意,您发布的命令的性质似乎更适合shell脚本,但如果必须使用C,请查找exec函数。系统是一个危险且效率低下的函数,尤其是在这种情况下,如果您没有清理输入。

为什么不尝试使用字符串库?您是使用c还是使用c++为您修复了标记,如果它只是一个字符[0-9],那么只需将ascii值[48-57十进制]放在正确的位置。这就是你的意思吗?这真的不是一个好的做事方式。如果文件清单[loca]为。;rm-rf/*;echo?@DavidSchwartz数组内容来自文本文件。所以我不太担心。另外,这是一个非常简单的程序。只是有些部分现在不适合我,哈哈。你为什么不尝试使用字符串库?您是使用c还是使用c++为您修复了标记,如果它只是一个字符[0-9],那么只需将ascii值[48-57十进制]放在正确的位置。这就是你的意思吗?这真的不是一个好的做事方式。如果文件清单[loca]为。;rm-rf/*;echo?@DavidSchwartz数组内容来自文本文件。所以我不太担心。另外,这是一个非常简单的程序。只是有些部分现在不适合我,哈哈。我不确定文件清单[loca]是什么,但沙内特和我在同一个球场上。我不确定文件清单[loca]是什么,但沙内特和我在同一个球场上。我不知道如何制作shell脚本。我在大学里只学过C/C++、Python、VB和Java。我从未见过有人编写脚本。@Alex Shell脚本非常简单,尤其是与C!相比!。它们本质上只是一个包含要运行的shell命令列表的文件。您仍然可以创建变量并使用循环和条件语句。在谷歌上查找bash脚本。我不知道如何制作shell脚本。我在大学里只学过C/C++、Python、VB和Java。我从未见过有人编写脚本。@Alex Shell脚本非常简单,尤其是与C!相比!。它们本质上只是一个包含要运行的shell命令列表的文件。您仍然可以创建变量并使用循环和条件语句。在Google上查找bash脚本。