2D Run-and-gun shooter inspired by One Man's Doomsday, Counter-Strike, and Metal Slug.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

55 строки
1.1 KiB

  1. #include "IZ_io.h"
  2. int IZ_sprintf(char* buffer, size_t buffer_size, const char* format, ...) {
  3. #if defined IZ_WINDOWS
  4. va_list args;
  5. va_start(args, format);
  6. int result = sprintf_s(buffer, buffer_size, format, args);
  7. va_end(args);
  8. return result;
  9. #else
  10. va_list args;
  11. va_start(args, format);
  12. int result = sprintf(buffer, format, args);
  13. va_end(args);
  14. return result;
  15. #endif
  16. }
  17. errno_t IZ_fopen(FILE** file, const char* filename, const char* mode) {
  18. #if defined IZ_WINDOWS
  19. return fopen_s(file, filename, mode);
  20. #else
  21. *file = fopen(filename, mode);
  22. return *file == NULL ? 1 : 0;
  23. #endif
  24. }
  25. errno_t IZ_mkdir(const char* path) {
  26. #if defined IZ_WINDOWS
  27. if (!CreateDirectory(path, NULL)) {
  28. return GetLastError();
  29. }
  30. return 0;
  31. #else
  32. mkdir(path, 0777);
  33. return 0;
  34. #endif
  35. }
  36. bool IZ_isdir(const char* path) {
  37. #if defined IZ_WINDOWS
  38. DWORD dwAttrib = GetFileAttributes(path);
  39. return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
  40. (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
  41. #else
  42. struct stat s;
  43. int err = stat("/path/to/possible_dir", &s);
  44. if(-1 == err) {
  45. return false;
  46. }
  47. return (S_ISDIR(s.st_mode));
  48. #endif
  49. }