/* 获取程序路径实战,包含操作打开文件get文件关闭文件 */
/*提示:
*1.pid_t pid = getpid()
*2.FILE *
*对文件的操作,将我当前程序的路径放入日志prog_path中,存放字符的中间值的是dname
*/
void get_program_path(char *prog_path)
{
char cmdline[256];
char path[256];
char *dname;
FILE *proc_file;
pid_t pid = getpid(); /* 获取当前进程的PID号 */
sprintf(cmdline, "/proc/%i/cmdline", pid);
proc_file = fopen(cmdline, "r"); /* 用r文件必须存在,以只读的形式加入 */
fgets(path, 256, proc_file); /* 一行行的读取文件内容到path路径上,大小与cmd一致即可,profile是fopen的返回指针 */
fclose(proc_file); /* 关闭文件流,释放指针 */
dname = dirname(path);
strcpy(prog_path, dname);
}
Linux库函数之文件操作fopen/fread/fwrite/fclose/fgets/ftell/fseek 示例
最新推荐文章于 2023-05-07 13:02:54 发布