gpt4 book ai didi

c - C语言中如何从逗号分隔的字符串中获取子字符串

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

我想从编程语言C中的数组中获取子数组

例如,如果我有一个字符数组:

c[]= "Peter,peter911@hotmail.com,213342,IGE

d[]= "JohnSilva,johnsilva@hotmail.com,213342,ETI

问题是,我想要一个通用代码,当给定一个索引、一个数组和一个分隔索引的字符时,它将把以下索引(从一个逗号到另一个逗号)放入数组中。索引从 0 开始

示例:d[],索引=1,分隔符:','

结果= johnsilva@hotmail.com

main(){
char delimitador;
char linha[100];
int index;
printf("index\n");
scanf("%d",index);
printf("char delimitador\n");
scanf("%c",caractere);
printf("linha"\n");
scanf("%c",linha);
char vector[50];
int i=0;
int contador;
while(i!=index){
contador++;
if(c[contador]==delimitador){
strncpy(vector,linha,contador-1);
i++;
}
}
}

最佳答案

#include <stdio.h>

char *get_field(char *out_buff, const char *csv, int index, char separator){
int i;
char *p = out_buff;
for(i=0; i < index && *csv; ++csv){
if(*csv == separator)
++i;//count separator
}
if(i == index){
while( *csv && *csv != separator )
*p++ = *csv++;//cut out
}
*p = '\0';
return out_buff;
}

int main(void){
char d[]= "JohnSilva,johnsilva@hotmail.com,213342,ETI";
char vector[50];
get_field(vector, d, 1, ',');
puts(vector);
return 0;
}

关于c - C语言中如何从逗号分隔的字符串中获取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393330/

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