Как скомпилировать под виндовс? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

эта програма работает под юникс, а с виндовс не могу скомпилировать. в чем проблема? помогите пожалуйста
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int EndsWith(const char *string, const char *substring) {
int string_length = strlen(string);
int substring_length = strlen(substring);
if (string_length < substring_length) return 0;
const char *string_symbol = string + string_length - substring_length;
return ((strcmp(string_symbol, substring) == 0) ? 1 : 0);
}
void ProcessFile(const char *file_name) {
if (EndsWith(file_name, ".c") || EndsWith(file_name, ".cc") ||
EndsWith(file_name, ".cpp") || EndsWith(file_name, ".pas")) {
FILE *infile = fopen(file_name, "r");
if (infile != NULL) {
int k_buffer_size = 4096;
char *buffer = (char*)malloc(k_buffer_size);
int lines_count = 0;
while (!feof(infile))
if (fgets(buffer, k_buffer_size, infile))
++lines_count;
free(buffer);
fclose(infile);
printf("%s has %d line%s\n", file_name, lines_count,
(lines_count > 1) ? "s" : "");
} else {
fprintf(stderr, "Error reading file %s.\n", file_name);
}
}
}
void ProcessFolder(const char *folder_name) {
DIR *directory;
struct dirent *directory_entry;
 
if ((directory = opendir(folder_name)) == NULL) {
fprintf(stderr, "Error opening %s.\n", folder_name);
return;
}
while ((directory_entry = readdir(directory)) != NULL) {
if (strcmp(directory_entry->d_name, ".") != 0 &&
strcmp(directory_entry->d_name, "..") != 0) {
char *subentry = (char*)malloc(strlen(folder_name)
+ strlen(directory_entry->d_name) + 2);
strcpy(subentry, folder_name);
strcat(subentry, "/");
strcat(subentry, directory_entry->d_name);
if (directory_entry->d_type & DT_DIR)
ProcessFolder(subentry);
else
if (directory_entry->d_type & DT_REG)
ProcessFile(subentry);
free(subentry);
}
}
closedir(directory);
}
int main(int argc, char *argv[]) {
if (argc == 2)
ProcessFolder(argv[1]);
else
ProcessFolder(".");
}

Решение задачи: «Как скомпилировать под виндовс?»

textual
Листинг программы
#include <dirent.h>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы