realpath.cpp 440 B

12345678910111213141516171819202122
  1. #include <errno.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <unistd.h>
  6. int main(int argc, char** argv)
  7. {
  8. if (argc != 2) {
  9. printf("usage: realpath <path>\n");
  10. return 1;
  11. }
  12. char* value = realpath(argv[1], nullptr);
  13. if (value == nullptr) {
  14. printf("realpath() error: %s\n", strerror(errno));
  15. return 1;
  16. }
  17. printf("%s\n", value);
  18. free(value);
  19. return 0;
  20. }