我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

先来看该函数的声明:


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

介绍:

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

普通的用法会是这样:


#define MAX_SIZE 255
char path(MAX_SIZE);
getcwd(path,sizeof(path));
puts(path);

这样会将工作目录的绝对路径复制到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;
}

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

Linux 中C语言getcwd()函数的用法 先来看该函数的声明:#include char *getcwd(char *buf,size_t size);介绍: 参数说明:getcwd()会将当前工作目录的绝对路径复
2022-06-04

c语言中bool函数的用法

c 语言中,bool 函数是一种布尔函数,返回 true 或 false 值。其语法为:bool 函数名(参数列表),可接受任意数据类型参数,根据参数值计算条件,返回 true(真)或 false(假)。它广泛用于逻辑测试、条件语句、循环控
c语言中bool函数的用法
2024-05-09

c语言中strstr函数的用法

strstr() 函数可搜索字符串中的子字符串,返回第一个匹配子字符串的指针或 null(未找到)。用法步骤如下:1. 从字符串开头搜索;2. 逐个字符比较,找到匹配项或到达字符串结尾;3. 找到则返回匹配字符指针,未找到则返回 null。
c语言中strstr函数的用法
2024-04-29

c语言中strlen函数的用法

strlen 函数用于获取字符串长度,它返回字符串中不包含 null 终止符的字符数。用法:strlen(str),其中 str 是要确定其长度的字符串。C 语言中的 strlen 函数问题:什么是 strlen 函数?回答:strle
c语言中strlen函数的用法
2024-05-08

如何在Linux 中使用getcwd()函数

这期内容当中小编将会给大家带来有关如何在Linux 中使用getcwd()函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#includechar *getcwd(char *buf
2023-06-09

c语言中string函数用法

string 函数库提供了操作字符串的函数,包括:字符串比较函数(strcmp()、strncmp()、strcasecmp())字符串复制函数(strcpy()、strncpy())字符串连接函数(strcat()、strncat())字
c语言中string函数用法
2024-04-29

C语言中函数的介绍及用法

本篇内容介绍了“C语言中函数的介绍及用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录函数定义库函数定义介绍Example 1 strc
2023-06-20

c语言中fun函数用法举例

c语言中fun函数是计算双曲正切的函数,用法为:传入要计算的弧度角x。返回该角度的双曲正切值。例如,计算角度1.23弧度的双曲正切值,返回1.32。C语言中fun函数用法举例fun函数是一个C语言库函数,用于计算双曲正切函数。其原型为:
c语言中fun函数用法举例
2024-05-10

C语言中getchar()函数的用法小结

这篇文章主要介绍了C语言中getchar()函数的用法,getchar是输入函数,输入的过程是什么呢,本文给大家详细讲解,对C语言getchar()函数相关知识感兴趣的朋友一起看看吧
2022-11-13

c语言中sub函数的用法有哪些

在C语言中,sub函数并不是C语言的标准库函数,但可以根据具体的程序需求自定义sub函数。以下是一些sub函数的用法示例:1. 替换字符串中的指定字符:```cvoid sub(char* str, char oldChar, char n
2023-08-08

c语言中prime函数的用法是什么

在C语言中,prime函数的用法是判断一个数是否为素数(质数)。素数是指除了1和它本身之外没有其他因子的正整数。例如,2、3、5、7等都是素数。通常,prime函数会接收一个正整数作为参数,并返回一个布尔值(0或1),表示该数是否为素数。以
2023-09-27

c语言中flag函数的用法是什么

在C语言中,通常情况下,flag函数是一个自定义的函数,用于设置一个标志位(flag)来表示某个条件或状态。flag函数的用法可以根据具体的需求而有所不同,一般来说,flag函数会接受一个参数,用来表示要设置的标志位的值,然后在程序中使用这
c语言中flag函数的用法是什么
2024-03-04

C语言中power函数的用法是什么

在C语言中,power函数用于计算一个数的幂。函数原型为:```cdouble pow(double x, double y);```参数x是底数,参数y是指数。函数返回x的y次方的结果。示例代码:```c#include #include
2023-10-12

c语言中fopen函数的用法是什么

fopen函数是C语言中用于打开文件的函数。其使用方法如下:```cFILE *fopen(const char *filename, const char *mode);```其中,`filename`参数是要打开的文件名,可以是相对路径
2023-09-12

C语言中strtol函数的用法是什么

这篇文章主要讲解了“C语言中strtol函数的用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中strtol函数的用法是什么”吧!strtol 函数用法strtol是一个C语言
2023-06-20

c语言中sizeof函数的作用

sizeof() 函数在 c 语言中用于确定变量、数据类型或表达式的内存大小,以字节为单位。其用法如下:size_t sizeof(const type-name | expression);并返回一个 size_t 数据类型的值。size
c语言中sizeof函数的作用
2024-05-08

c语言中strcpy函数的作用

c语言中的strcpy函数的作用是将一个字符串复制到另一个字符串中,覆盖目标字符串并以'\0'结尾。它需要确保目标字符串有足够的内存空间,不会检查缓冲区大小。strcpy只复制字符串的内容,不会复制长度或属性。如果源和目标指向同一个字符串,
c语言中strcpy函数的作用
2024-05-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录