我正在尝试在“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网站上找不到任何内容。有什么帮助吗?
我正在尝试不使用字符串库..
答案 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
假定folderInt
为int
。
旁注,您发布的命令的性质似乎更适合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);