gpt4 book ai didi

连接文件名和文件路径,路径被分割?

转载 作者:行者123 更新时间:2023-11-30 20:47:22 24 4
gpt4 key购买 nike

我有一个程序,需要一个文件路径和文件名的一部分作为输入。

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

char filename[3][50];

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

int run;
run=atoi(argv[2]);

char *datapath=malloc(100*sizeof(char));

datapath=argv[1];

sprintf(filename[0], "%s/test1.run%i", datapath, run);
sprintf(filename[1], "%s/test2.run%i", datapath, run);
sprintf(filename[2], "%s/test3.run%i", datapath, run);

}

但是生成的文件名被分隔为两个字符串。一个包含

Name : filename
Details:{"/home/test/data", "/test.run1", '\0' <repeats 74 times>, '\0' <repeats 49 times>}

为什么?

最佳答案

我没有看到问题。我稍微修改了你的代码:

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

char filename[3][50];

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

int run;
run=atoi(argv[2]);

char *datapath=argv[1];

sprintf(filename[0], "%s/test1.run%i", datapath, run);
sprintf(filename[1], "%s/test2.run%i", datapath, run);
sprintf(filename[2], "%s/test3.run%i", datapath, run);

printf("filename[0]=%s\n", filename[0]);
printf("filename[1]=%s\n", filename[1]);
printf("filename[2]=%s\n", filename[2]);

}

然后运行它:

$ gcc h.c -o h
$ ./h /home/test/data 1
filename[0]=/home/test/data/test1.run1
filename[1]=/home/test/data/test2.run1
filename[2]=/home/test/data/test3.run1

这就是你所期望的,对吗?

关于连接文件名和文件路径,路径被分割?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674590/

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