utils.h 500 B

123456789101112131415161718192021222324252627282930
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. class utUtils {
  6. public:
  7. void get_dir_exec(char* dir, char* exec) {
  8. char* filename = nullptr;
  9. if (readlink("/proc/self/exe", dir, 1024) < 0) {
  10. dir[0] = '\0';
  11. return;
  12. }
  13. filename = strrchr(dir, '/');
  14. if (filename == nullptr) {
  15. dir[0] = '\0';
  16. return;
  17. }
  18. ++filename;
  19. if (exec) {
  20. sprintf(exec, "%s", filename);
  21. }
  22. *filename = '\0';
  23. return;
  24. }
  25. };