主要涉及三个系统调用:
#include <stdlib.h>
#include <unistd.h>
#include <iostream>
void fun() { std::cout << "process finsh" << std::endl; }
int main() {
if (atexit(fun) != 0) {
std::cout << "atexit error" << std::endl;
}
char *ptr;
size_t sz = 512;
if (chdir("/home") < 0) {
std::cout << "chdir error" << std::endl;
return 0;
}
ptr = (char *)(malloc(sz));
if (getcwd(ptr, sz) == NULL) {
std::cout << "getcwd error" << std::endl;
}
std::cout << ptr << " " << sz << std::endl;
return 0;
}
运行结果: