linux c++获取当前程序的运行路径

server/2024/10/19 7:32:29/

比如我的程序名为:aaa
存放路径是:/homo/code/
我在/home/ccc 目录执行shell文件。shell文件的内容为

#!/bin/bash
/homo/code/aaa

希望获取的路径是 /homo/code/ 而不是脚本的路径

给出完整接口代码

#include <iostream>
#include <string>
#include <string.h>
#include <unistd.h>#define MAX_PATH_LEN  256bool getCurrRunningPath(std::string &currPath)
{char path[MAX_PATH_LEN] = {0};char *p = NULL;ssize_t n = readlink("/proc/self/exe", path, MAX_PATH_LEN);if (n > 0) {p = strrchr(path, '/');*(p + 1) = '\0'; // 去掉最后的程序名称currPath.assign(path);std::cout << "get current running path:" << path << std::endl;return true;} else {std::cout << "get current running path failed, errno: " << errno << std::endl;}return false;
}int main()
{std::string curpath;getCurrRunningPath(curpath);std::cout << "***: " << curpath << std::endl;return 0;
}

http://www.ppmy.cn/server/42078.html

相关文章

LVS 负载均衡部署 NAT模式

一、环境准备 配置环境&#xff1a; 负载调度器&#xff1a;配置双网卡 内网&#xff1a;172.168.1.11(ens33) 外网卡&#xff1a;12.0.0.1(ens37)二台WEB服务器集群池&#xff1a;172.168.1.12、172.168.1.13 一台NFS共享服务器&#xff1a;172.168.1.14客户端&#xff…

Redis 基础之Redis 配置

Redis 配置 Redis CONFIG GET 命令语法格式编辑配置Redis 配置参数说明 Redis 提供了很多配置选项来优化 Redis 服务 Redis 的配置文件位于 Redis 安装目录下&#xff0c;文件名为 redis.conf 可以通过 Redis CONFIG 命令查看或设置配置项 Redis CONFIG GET 命令语法格式 Re…

五丰黎红引领新营销模式:布局一物一码数字化营销,提高调味品销量和复购率

调味品行业的销售渠道主要有餐饮、家庭消费和食品加工&#xff0c;按销售额的占比约为6&#xff1a;3&#xff1a;1&#xff0c;餐饮行业是调味品行业的供需主力。在餐饮行业中&#xff0c;“大厨”这一角色具有十分重要的地位。因此&#xff0c;借助大厨的力量成为了许多调味品…

数据的存储及表现形式:深入了解数据的本质

目录 进制及进制的转换 数据宽度 字节序 ASCII编码 在OD中查看数据 编程判断主机字符序 总结 在计算机科学和信息技术领域&#xff0c;理解数据的存储和表现形式是至关重要的。从不同进制的数字表示到字节序的处理&#xff0c;这些概念贯穿着整个计算机系统的设计和实现。…

探索STLport:C++标准模板库的开源实现

在C++编程的世界里,STL(标准模板库)是一个不可或缺的工具。它提供了许多用于数据结构、算法和其他重要功能的模板类和函数。然而,标准模板库的实现并非只有一种,而其中一个备受推崇的选择就是STLport。 官方下载: STLport: Welcome! STLport是什么? STLport是一个开…

常用Linux命令详细总结

一、文档编辑、过滤、查看命令 1、cp 复制文件和目录 -a 复制文件并保持文件属性 -d 若源文件为链接文件&#xff0c;则复制链接文件属性而非文件本身 -i 覆盖文件前提示&#xff0c;如果不要提示&#xff0c;在命令前加上\ -r 递归复制&#xff0c;通常用于目录的复制 …

C++多态

C多态 1. 多态的介绍 多态是c三大特性之一&#xff0c;多态的作用是使不同的对象调用同一函数有不同的效果。 2. 重写 2.1 一般重写 重写&#xff08;又称覆盖&#xff09;是多态中的一个重要概念&#xff0c;重写是实现多态的条件之一。 重写指两个函数在基类和派生类中…

【数据库原理及应用】期末复习汇总高校期末真题试卷06

试卷 一、选择题 1&#xff0e; ________是长期存储在计算机内的有组织,可共享的数据集合. A.数据库管理系统 B.数据库系统 C.数据库 D.文件组织 1&#xff0e; 有12个实体类型&#xff0c;并且它们之间存在15个不同的二元联系&#xff0c;其中4个是1:1联系类型&#xff0c;5…