帮我写一段c代码实现判断某个文件是否存在代码需要能跨平台
#include <stdio.h> #include <stdlib.h> #include <stdbool.h>
#ifdef _WIN32 #include <windows.h> #else #include <unistd.h> #endif
bool fileExists(char *filename) { FILE *file; if ((file = fopen(filename, "r"))) { fclose(file); return true; } else { return false; } }
int main() { char filename[100]; printf("Enter filename: "); scanf("%s", filename); if (fileExists(filename)) { printf("File exists.\n"); } else { printf("File does not exist.\n"); } return 0; }
// 跨平台实现 bool fileExists(char *filename) { #ifdef _WIN32 DWORD file_attr = GetFileAttributes(filename); if (file_attr == INVALID_FILE_ATTRIBUTES) { return false; } else { return true; } #else if (access(filename, F_OK) != -1) { return true; } else { return false; } #endif }
原文地址: http://www.cveoy.top/t/topic/GB0 著作权归作者所有。请勿转载和采集!