从文件 C 中读取并跳转行

read and jump lines from a file C

#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[]) {
  FILE* file = fopen("questions-words.txt", "r"); 
  char line[256];

  while (fgets(line, sizeof(line), file) != NULL) {                
    if (line[0]==":") {
      continue;
    }
    printf("%s", line);   
  }
  fclose(file);
  return 0;
}

您好,我尝试打印文件的行并跳转以“:”开头的行,但它似乎不起作用。 我也无法打印 line[0] 它会发出警告,因为 "line is type int"

而不是这个-

if (line[0]==":"){

使用这个 -

if (line[0]==':'){   // note the single quotes

注意 - ';'int 类型(正如 Cool Guy 所指出的)与 ":" 不同,后者是字符串文字。

    #include <stdio.h>
    #include <string.h>


    int main(int argc, char* argv[])
    {


        FILE* file = fopen("questions-words.txt", "r"); /* should check the result */
        if (file==NULL){
            return-1;
        }
        char line[256];
        char first[20],second[20],third[20],fourth[20],temp[20];


        while (! feof(file)) {
            fscanf(file,"%s \t", first);
            if (!strcmp(first,":")){
                fscanf(file,"%s \t",temp);
            continue;
                }

                fscanf(file,"%s \t", second);
                fscanf(file,"%s \t", third);
                fscanf(file,"%s \t", fourth);
                printf("%s %s %s %s \n", first, second, third, fourth);



        }
                fclose(file);

                return 0;
    }

@ameyCu 的回答更好,但因为我知道每行有 4 个词,所以我也找到了这个解决方案(以防万一对某人有帮助)