我使用Code :: Blocks,我想创建一个供个人使用的程序,但是我有一个问题,这是代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int number;
char name[100];
char extension[100];
int I;
printf("Filename: ");
scanf("%s", name);
system("CLS");
printf("File number: ");
scanf("%d", &number);
system("CLS");
printf("Extension: ");
scanf("%s", extension);
system("CLS");
for ((I = 1); (I = number); (I++))
{
rename(("&s-%d%s"), ("%s-%d.tmp1"), name, number, extension); //ERROR HERE
}
return 0;
}
编译时出现错误:
error: too many arguments to function 'rename'
感谢您的任何建议。
最佳答案
根据rename()
man page,rename()
函数只有2个输入参数oldpath
和newpath
int rename(const char *oldpath, const char *newpath);
因此,您可以在代码中调用
rename()
函数之前添加此代码char oldpath[200], newpath[200];
sprintf(oldpath, "%s-%d%s", name, number, extension);
sprintf(newpath, "%s-%d.tmp1", name, number);
rename(oldpath, newpath);
关于c - 重命名功能中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15638954/