基于C中的分隔符拆分字符串

时间:2013-07-30 20:19:27

标签: c arrays pointers

我在文件中有一组行,每行有几个由","分隔的字符串。

如何根据分隔符拆分字符串并将结果存储在多维数组中,其中第一个索引是输入文件中的行号,第二个是列号?

2 个答案:

答案 0 :(得分:3)

在string.h中使用strtok()头文件可以在C中使用。

strtok(char * array, ",");


char * array[size of columns][size of rows]
pch = strtok (str,",");
int i, j;
while (pch != NULL)
{
  array[i++][j] = pch;
  if( i == size of columns - 1){
    i = 0; j++;
  } 
  pch = strtok (NULL, ",");

  if(j == size of rows -1){
    break;
  }
}

答案 1 :(得分:1)

你可以做什么(因为c-strings的工作方式)是检查字符,直到遇到“,”然后你用\0(NULL字符)替换该字符并跟踪你的最后位置开始检查(字符串的开头或最后一个NULL字符后的字符。这将为每个分隔的片段提供可用的c字符串。