阅读包含标签的文件

时间:2016-10-08 21:59:38

标签: c++

我有一个由23行组成的文件。在每一行中,有六个不同的字符串,它们通过\ t(制表符)彼此分开。换句话说,我有一个制表符分隔文件。

1)是否可以使用fscanf的fread读取此文件?

2)如果不可能,我该如何阅读文件?

1 个答案:

答案 0 :(得分:0)

您可以使用sscanf功能:

 char string1[SIZE];
 char string2[SIZE];
 char string3[SIZE];
 char string4[SIZE];
 char string5[SIZE];
 char string6[SIZE];

 char line[200];

  FILE *inFile;
  char *inName = "myFile.txt";

  int i = 0;


  inFile = fopen(inName, "r");
  if (!inFile) {
    printf("Couldn't open %s for reading\n");
    return 0;
  }

  while(i < 23 && fgets(line, sizeof(line), inFile) != NULL){
        sscanf( line, "%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\n]\n", string1, string2, string3, string4, string5, string6 );
        printf( "%s\t%s\t%s\t%s\t%s\t%s\n", string1, string2, string3, string4, string5, string6 );
        i++;
 }