gpt4 book ai didi

c - 在 strdup C 之前追加字符串

转载 作者:行者123 更新时间:2023-12-02 05:38:48 25 4
gpt4 key购买 nike

我有这个代码:

if(S_ISDIR(fileStat.st_mode)){
(*ls)[count++] = strdup(ep->d_name);
ep = readdir(dp);
} else{
(*ls)[count++] = strdup(ep->d_name);
ep = readdir(dp);
}

我怎样才能附加字符串“DIR”来获得类似的东西:

 if(S_ISDIR(fileStat.st_mode)){
(*ls)[count++] = "DIR "strdup(ep->d_name);
ep = readdir(dp);

所以当我打印它时,我有这个:
文件1
文件2
目录:文件3
执行委员会

其中 lschar ***ls
提前致谢!

最佳答案

有几种方法可以实现这一点:您可以使用 strcat ,或者如果您需要进行多项修改,您可以使用 snprintf .

size_t len = strlen(ep->d_name);
// You need five characters for "DIR: ", and one more for the terminating zero:
(*ls)[count] = malloc(len+6);
strcpy((*ls)[count], "DIR: "); // Copy the prefix
strcat((*ls)[count++], ep->d_name); // Append the name

关于c - 在 strdup C 之前追加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11293308/

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