gpt4 book ai didi

C语言如何动态创建带有输入和文件名的字符串

转载 作者:行者123 更新时间:2023-11-30 20:31:07 25 4
gpt4 key购买 nike

我有这样的c代码,

foo.c

int a;
int b;
int c;
FILE *fd;
int main(int argc, char * argv[]){
a = atoi(argv[1]);
b = atoi(argv[2]);
c = atoi(argv[3]);
char *temp = "_%d_%d_%d", (a,b,c); // I do not know how to create this string
char *fileName = (char*) malloc(500*sizeof(char));
sprintf(fileName, "bar%s.txt", temp);
fd = fopen(fileName, 'w');
return 0;
}

然后如果我在编译后传递参数,
./foo 11 13 15我希望文件名为 bar_11_13_15.txt,因为我使用命令行参数创建字符串变量。
如何创建字符串(或 char[])并将其传递给文件名?

最佳答案

#include <stdlib.h>
#include <string.h>

int main(int argc, char * argv[])
{
if (argc < 4) // make sure there are enough arguments
return EXIT_FAILURE;

int a = atoi(argv[1]); // dont
int b = atoi(argv[2]); // use
int c = atoi(argv[3]); // globals!

char fileName[500];
snprintf(fileName, sizeof fileName, "bar_%d_%d_%d.txt", a, b, c);
FILE *fd = fopen(fileName, "w"); // mind the quotation marks
}

关于C语言如何动态创建带有输入和文件名的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com