我试图在 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;
}