gpt4 book ai didi

c - 在 C 中使用多个分隔符分割字符串

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

我目前正在尝试拆分从文本文件读入分配的字符数组。现在我在分隔符方面遇到了麻烦,我不知道是否可以有多个。我想要分隔的是逗号和空格。这是到目前为止我的代码。

#include <stdio.h>
FILE * fPointer;
fPointer = fopen("file name", "r");
char singleLine[1500];
char delimit[] =
int i = 0;
int j = 0;
int k = 0;


while(!feof(fPointer)){
//the i counter is for the first line in the text file which I want to skip

while ((fgets(singleLine, 1500, fPointer) != NULL) && !(i == 0)){
//delimit in this loop
puts(singleLine);

}
i++;
}

fclose(fPointer);

return 0;
}

到目前为止,我发现的是一种使用具有制表符等简写形式的文本字符串进行分隔的方法

char Delimit[] = " /n/t/f/s";

然后我会在 strtok() 方法的分隔符参数下使用这个字符串

但这不会让我用逗号作为分隔符。

这样做的全部目的是让我可以开始将分隔字符串分配给变量。

示例输入:P1,2, 3 , 2

感谢任何帮助或引用。

最佳答案

您可以在 strtok 方法中使用 , 作为分隔符。

我还认为您打算使用 \n\t 来表示换行符和制表符(我不知道 /f/s 代表什么)。

尝试使用这个:

char Delimit[] = " ,\n\t";

// <snip>

char * token = strtok (singleLine, Delimit);
while (token != NULL)
{
// use the token here
printf ("%s\n",token);

// get the next token from singleLine
token = strtok (NULL, Delimit);
}

这会将您的示例输入 P1,2, 3 , 2 转换为:

P1
2
3
2

关于c - 在 C 中使用多个分隔符分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38380419/

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