• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Linux 中C语言getcwd()函数的用法

Linux 中C语言getcwd()函数的用法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux getcwd,c getcwd,getcwd,getcwd函数,os.getcwd等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Linux 中C语言getcwd()函数的用法

先来看该函数的声明:

#include<unistd.h>
char *getcwd(char *buf,size_t size);
</div>

介绍:

参数说明:getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小。

普通的用法会是这样:

#define MAX_SIZE 255
char path(MAX_SIZE);
getcwd(path,sizeof(path));
puts(path);
</div>

这样会将工作目录的绝对路径复制到buf所指向的空间中,但如果路径长度大于size,则会返回NULL,错误代码为ERANGE.所以我们在定义path的时候得定义的足够大,但这样又会使得内存浪费,Linux的文件名长度限制为255个英文字符,理论上绝对路径的大小应该可以足够大,故而这样使用总有返回NULL的时候,所以getcwd()个我们提供了下面的一种用法:

可以采取令 buf 为 NULL并使 size 为零(百度百科里介绍可以使用负值但我测试的时候是段错误)来使 getcwd 调用 malloc 动态给 buf 分配,但是这种情况要特别注意使用后释放缓冲以防止内存泄漏。

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main(void)
{
  char *path = NULL;
  path = getcwd(NULL,0);
  puts(path);
  free(path);
  return 0;
}
</div>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>

您可能想查找下面的文章:

  • Linux 中C语言getcwd()函数的用法

相关文章

  • Shell脚本实现监控iptables运行状态
  • linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法
  • Linux下压缩与解压命令详解
  • linux命令之find命令简单概述
  • Linux用户配置sudo权限(visudo)的方法
  • 如何调试Linux shell脚本
  • Shell脚本学习指南之文本处理工具
  • Shell脚本定时备份清除运行系统日志的代码
  • shell实现数字打印从100到200的数
  • Shell中获取脚本所在目录绝对路径的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解Linux--shell脚本之正则表达式
    • Bash Shell 注释多行的几种方法
    • Shell脚本实现检测文件是否被修改过代码分享
    • shell脚本编程之if语句学习笔记
    • linux 中open()函数详解及简单实例
    • 一句话Shell命令关闭不需要的随机启动服务
    • 详解linux下利用crontab创建定时任务
    • GitBook 制作电子书详细教程
    • Shell脚本批量重命名文件后缀的3种实现
    • 一天一个shell命令 linux文本内容操作系列-awk命令详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有