将int数组转换为cpp中的char数组以提供文件名

时间:2017-06-07 18:44:06

标签: c++ file

假设我们有一个整数数组1,2,3(最大可达36,所以每个数字不是一个数字),我想将文件命名为123 ... 36.txt。我会在旅途中这样做,因此,我需要根据int数组值

更改文件名

我在网上查了一些解决方案,但都没有。有一个简单的解决方案吗?谢谢

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

    int i;

    FILE *ptr;

    int b[3]={1,2,3};
    char name[FILENAME_MAX];

    for(i=0;i<3;i++) itoa(b[i],name[i],10);

    name[3]='.';
    name[4]='t';
    name[5]='x';
    name[6]='t';
    name[7]='\0';

    ptr = fopen(name, "w");

    fclose(ptr);

    return 0;
}

1 个答案:

答案 0 :(得分:0)

最类似于您的算法的事情是使用数字来偏移0字符的ascii值。用这个替换你的itoa()行:

for(i=0;i<3;i++) name[i] = '0'+b[i];

这显然假定,正如您的代码所做的那样,传入的int值介于0和9之间。