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

时间:2013-08-16 03:19:13

标签: c arrays char int

我正在尝试在“C”中创建一个char数组,该数组在数组的末尾有一个整数值。但是我试图在循环中改变整数值。

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()是否可以用于我在上面的system()中放置的内容。

我在cplusplus网站上找不到任何内容。有什么帮助吗?

我正在尝试不使用字符串库..

2 个答案:

答案 0 :(得分:3)

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

char command[MAX_LENGTH];
sprintf(command, "mv %s /media/MyBook1TB/%d", file_list[loca], folderint);
system(command);

您没有指定file_list是什么,因此您需要定义自己的MAX_SIZE。另请注意,%s假定file_list为字符串,%d假定folderIntint

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

答案 1 :(得分:2)

char system_string[LARGE_COMFORTABLE_NUM];

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

system(system_string);