У меня проблема с заданием.Я делаю различные упражнения в C (я не могу включить какие-либо библиотеки c ++).
Я должен прочитать из файла .c и вывести все в .o файле, решая также эту спецификацию.
"Строка, начинающаяся с #include« filename.h », должна быть заменена всем содержимым файла с именем filename.h."
void writefile(int size, int *data, *file_path) {
char outputFile[30];
if (strcmp(file_name, "string_functions.c") == 0) {
outputFile = "CW1_test_files/string_functions.o";
}
else outputFile = "CW1_test_files/math_functions.o";
FILE *file;
file = fopen(outputFile, "w");
//In questo modo andiamo a verificare se e' opportuno ignorare o meno i commenti.
int numberOfLines = 0;
int numberOfComments = 0;
if (file == NULL) {
printf("Could not open file %s", filename);
return -1;
}
else {
char *line[1000];
char *include = "#include";
char *define = "#define";
char ch;
// file is equals to fp1
while ((ch = fget(file)) != EOF){
if ((strcmp(line[i], " ") != 0) && (strcmp(line[i], "\n") != 0) && (strcmp(line[i], "\t") != 0)) numberOfLines++;
if (strcmp(line[i], "/") = 0) && (strcmp(line[i + 1], "/") numberOfComments++; //check the comments
else if ((strcmp(line[i], "/") != 0) && (strcmp(line[i], " ") != 0)) continue;
}
printf(strcat("Number of Comments in the file %s: %d", file_path, numberOfComments));
printf(strcat("Number of non-empty lines in the file %s: %d", file_path, numberOfLines));
}
fclose(file);
//svolgere qui il resto del programma
//stampare il file,, gestire gli #incl
for (int i = 0; i < size; i++) {
}
writefile(size, data);
}