-1

我试图在 sublime 文本中包含头文件,但出现致命错误:headers/structs: No such file or directory。我已经在网上搜索但找不到解决方案。我在 linux 中使用 C 和 gcc。有人可以帮我弄这个吗?

错误:

mainVersion3.c:4:29: fatal error: headers/structs.h: No such file 
or directory
#include <headers/structs.h>

谢谢

我的构建系统是这里的,可能缺少路径?

{
"cmd":
[
 "gcc", "-Wall", "${file}", "-o", "-pedantic-errors", 
"./bin/${file_base_name}", 
-I${file_path}/lib && ./bin/${file_base_name}.exe", "&&", "start"
],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true,

"variants": [
    {
        "name": "Run",
        "cmd": ["gcc -Wall ${file} -o ./bin/${file_base_name} - 
I${file_path}/lib && open ./bin/${file_base_name}"],
        "working_dir": "${file_path}",
        "shell": true
    }
 ]
}

以及 csv 文件的最小代码

 11-AA-11 ,FORD ,MUSTANG ,40000 ,700 ,4.30 ,6.50 ,Braga De 4615 a 
 4905 ,Zona 4
 45-HJ-98,VOLKSWAGEN,CADDY,12000,450,3.4,4.5,Viseu De 3360 a 
 5130,Zona 19
 34-FR-65,OPEL,COMBO,50000,540,5.6,3.4,Braga De 4615 a 4905,Zona 4
 25-JS-67,RENAULT,EXPRESS,125000,350,2.3,3.4,Beja De 7230 a 
 7960,Zona 3
 56-DF-78,CITROËN,BERLINGO,230000,750,4.5,6.7,Lisboa De 1000 a 
 27998,Zona 11
 12-SD-34,CITROËN,JUMPY,340000,450,3.6,2.8,5.6,Porto De 4000 a 
 504047,Zona 14
 67-ML-87,VOLKSWAGEN,TRANSPORTER,230000,560,6.7,5.8,Leiria De 2400 
a 3280,Zona 10
98-KL-43,FIAT,SCUDO,120000,650,5.4,3.7,7.8,Madeira De 9000 a 
9400,Zona 12

编码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <headers/structs.h>
#include <headers/create_veiculos.h>

#define MAX_SIZE 25

    typedef struct{
    char marca[15];
    char modelo[15];
    char matricula[9];
    char cp[23];
    char cp_zona[8];
    int nKm;
    int pesoM;
    double volM;
    double consumo;
    }VEICULO;

int read_veiculos(const char *filename, VEICULO *ptr) {
    int count=0;
    FILE *fp = fopen(filename, "r");
    if(fp==NULL){
        printf("Erro na abertura do ficheiro.\n");
        exit(1);        
    }

char line[100];

while(fgets(line,100, fp)!=NULL){

    sscanf(line,"%[^,],%[^,],%[^,],%d,%d,%lf,%lf,%[^,],% 
    [^,]",ptr[count].matricula,ptr[count].marca,
    ptr[count].modelo,&ptr[count].nKm,&ptr[count].pesoM           
   ,&ptr[count].volM,&ptr[count].consumo,
    ptr[count].cp,ptr[count].cp_zona);
    //Conta o numero de veiculos no ficheiro
    count++;        
}

void print_veiculos(int size, VEICULO *ptr) {
    unsigned int opV;
    for (int i = 0; i < size; ++i) {
        VEICULO *ptrzito = &ptr[i];
        printf("\nMatricula :    \t%s",ptrzito->matricula);
        printf("\nMarca:                        \t%s",ptrzito->marca);
        printf("\nModelo :                  \t%s",ptrzito->modelo);
        printf("\nNº de Km :                    \t%d",ptrzito->nKm);
        printf("\nPeso Máximo de carga:     \t%d",ptrzito->pesoM);
        printf("\nVolume Máximo de carga:       \t%.2f",ptrzito->volM);
        printf("\nConsumo :                 \t%.2f",ptrzito->consumo);
        printf("\nCódigo Postal :               \t%s",ptrzito->cp);
        printf("\nZona de entrega/recolha:  \t%s",ptrzito->cp_zona);
        printf("\n\n");
    }
}


    fclose(fp);

    return count;
}

int main() {

    VEICULO ptr[MAX_SIZE];
    unsigned int size = read_veiculos("veiculos.csv", ptr);
    print_veiculos(size, ptr);

    return 0;
}
4

0 回答 0