gpt4 book ai didi

逗号分隔 C

转载 作者:行者123 更新时间:2023-11-30 14:22:32 25 4
gpt4 key购买 nike

我需要我的程序获取一系列文件名(存储在单个“字符串”中并用逗号分隔)并对其进行操作。

伪代码为:

for each filename in some_string
open filename
operate on contents of filename
close filename

问题是我无法将 some_string ("filename1,filename2,...,filenamen") 分成 [filename 1], [filename 2], ... [filename n]。

编辑:澄清一下,保持 some_string 完整并根据需要提取每个文件名似乎更简单,这就是我正在尝试做的事情。

就目前而言,我的代码非常笨重(而且非常恶心......)

int j = 0;
char *tempS = strdup(filenames);
while (strchr(tempS, ',')) {
char *ptr = strchr(tempS, ',');
*ptr++ = '.';
numFiles++;
}

for (; j < numFiles; j++) {
char *ptr = strchr(tempS, ',');

//don't know where to go from here...
fin = openFile(tempS);
if (fin != NULL) {
//do something
}
fclose(fin);
}

显然,事情还没有完成。我正确地找到了文件的数量,但在弄清楚如何一次从源字符串中分离一个文件并对其进行操作时,我有点迷失了。

最佳答案

您可以使用strtok为此

char *fname = strtok(tempS, ",");
while (fname != NULL) {
/* process filename */
fname = strtok(NULL, ",");
}

strtok 逐一传递以逗号分隔的字符串。

关于逗号分隔 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675273/

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