我使用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 pagerename()函数只有2个输入参数oldpathnewpath

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/

10-11 00:53