-3

我一直在尝试在网上搜索,但仍然找不到任何关于它的信息我想做一些事情,比如增加文件名,

int main(int argc , char *argv[]){

char charArray = {argv[1]};
char * string[] = {"-0001.c"};

int i = 0;

strcat(charArray[0] , string[0]);

puts(charArray[0]);

return 0;

}

所以正如预期的那样,我执行它

./文件测试

输出是

测试-0001.c

如果我想增加数量怎么办?

这样它就可以打印出以下内容

测试-0001.c

测试-0002.c

测试-0003.c

通过使用while循环?

4

1 回答 1

4

您当前编写的程序目前不应该工作。尝试打开警告并修复它们。-Wall -Wextra -pedantic(带有GCC 或 clang的编译器标志)

也就是说,我会使用可变长度数组和sprintf

for(int counter = 1; counter < 10000; counter++) {
    char filename[strlen(argv[1]) + 8];
    sprintf(filename, "%s-%04d.c", argv[1], counter);
    // do something with filename
}
于 2013-04-28T00:17:47.280 回答