gpt4 book ai didi

c - 如何在C中提取文件路径的最后部分?

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

我希望能够找到最终路径的最后部分,并基于此创建一个新文件。例如

/Users/use/Projects/projectname/test.txt

基于此,我希望能够创建一个名为的新文件

test.newfile.txt

我该怎么做?

最佳答案

沿分隔符(此处为“/”)拼接,然后抓取最后一个元素。然后创建一个字符串,用作基于该字符串的新文件名。摘自以下链接;

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

int main()
{
char str[] = "strtok splits once per call, call many times to split full string";
int init_size = strlen(str);
char delim[] = "/";

char *ptr = strtok(str, delim);

while(ptr != NULL)
{
last = ptr //[p]oin[t]e[r]
ptr = strtok(NULL, delim);
}
strcat("newfile.", last)

//open a file with that name, write to it, etc.

return 0;
}

来源:https://www.codingame.com/playgrounds/14213/how-to-play-with-strings-in-c/string-split

这将使“last”指向最后一次出现分隔符之后的字符串的最后部分,因此只是文件名。然后您可以使用 strcat() 将字符串与其连接起来。

如果您希望使用 text.newfile.txt 而不是 newfile.text.txt,您可以再次拆分 text.txt 字符串,这次是沿着“.”,并且:

temp = strcat(original_filename, newfile)
new_filename = strcat(temp, original_file_extenstion)

关于c - 如何在C中提取文件路径的最后部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56260685/

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