我有一个配置文件,其中一些字段以下列方式提及:
;
Student Name; Enroll. No.; Std; Age
其中第一行讲述分隔符,第二行显示由上述分隔符分隔的字段。字段是动态的,因为它是一个配置文件。
分隔符可以是 ,/;/:字段不在固定编号中。字段名称将随场景而变化。输入要根据字段格式化的文件数据
我必须使用 C 代码来理解这个配置文件。请在这方面指导我
我有一个配置文件,其中一些字段以下列方式提及:
;
Student Name; Enroll. No.; Std; Age
其中第一行讲述分隔符,第二行显示由上述分隔符分隔的字段。字段是动态的,因为它是一个配置文件。
分隔符可以是 ,/;/:字段不在固定编号中。字段名称将随场景而变化。输入要根据字段格式化的文件数据
我必须使用 C 代码来理解这个配置文件。请在这方面指导我
我将在算法上描述一种方法,并带有一些 C 提示。您可以尝试在 C 中详细实现这一点:
将配置文件的第一行读入字符串缓冲区并将第一个字符存储到一个delimiter
变量中(注意:这当然假设该行的第一个字符是您想要的)。
将配置文件的第二行读入字符串缓冲区,并使用步骤 1 中保存的strtok
和delimiter
作为字符串分隔符,从该行读取每个列名,将它们复制到列名数组中(注意:您可以一个具有固定最大元素数量的数组,char *
并在执行过程中动态分配每个字符串内存,从 ) 给出的指针复制字符串strtok
。在此步骤中,记录您记录了多少列,num_columns
。
打开并逐行读取数据文件。您可以strtok
在此处使用并使用所需的任何方法对每个字符串项进行操作。由于您的配置文件未指示数据类型,因此您需要假设它们都是字符串,除非您想根据某些列名做出假设。
这是一个基本的方法。您可以填写错误检查和一般内务管理(在适当的情况下关闭文件等)的空白。