在C中将文本文件读入数组

时间:2013-05-04 07:51:40

标签: c arrays file text

刚才有一个问题,当你从文本文件中读取文本行时,如何将这些单词分开并将它们存储到数组中。

例如,如果我的文本文件中有两行文本,如下所示:

1005; AndyCool;安迪;安德森; 23; LA 1006; JohnCool;约翰;安德森; 23; LA

你如何根据';'将它们拆分成。 然后将它们存储在2D数组中。

抱歉,我还没有开始编码,只是将其粘贴在这里

干杯......

3 个答案:

答案 0 :(得分:1)

使用strsep功能:

char* token;
char* line;

/* I assume the line as loaded from file  */;

if( line != NULL ) {
  while ((token = strsep(&line, ";")) != NULL)
  {
     /* 
         token points to the current extracted string, 
         use it to fill your array 
      */
  }

}

答案 1 :(得分:0)

首先使用fgets读取,然后使用strtok拆分字符串http://www.cplusplus.com/reference/cstring/strtok/

答案 2 :(得分:0)

查看fopen,fgets,strstr以及strchr和strspn函数的手册页... strtok和strsep函数也适用于你将要做的大多数事情。