strstr函数、chdir函数、access函数、strdup函数的介绍

news2024/11/16 10:39:09

1、strstr函数

strstr 是 C 语言中的一个字符串处理函数,用于在一个字符串中查找子字符串的第一次出现。

函数原型

char *strstr(const char *haystack, const char *needle);

  • haystack:要在其中搜索的字符串。
  • needle:要查找的子字符串。

函数返回一个指向第一次出现子字符串的指针,如果子字符串未找到,则返回 NULL

2、chdir函数

chdir 是 C 语言中的一个系统调用,用于改变当前工作目录

函数原型

int chdir(const char *path);

  • path:要切换到的目标目录的路径。

函数返回值:

  • 若成功,则返回 0。
  • 若失败,则返回 -1,并设置 errno

 例子

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
    const char *newDir = "/path/to/new/directory";

    if (chdir(newDir) == 0) {
        printf("Changed to directory: %s\n", newDir);
    } else {
        perror("chdir");
        exit(EXIT_FAILURE);
    }

    return 0;
}

在这个例子中,程序尝试切换到指定的目录 newDir。如果切换成功,就输出相应的消息;如果失败,就通过 perror 输出错误信息。

3、access函数

access 是 C 语言中的一个系统调用,用于检查文件或目录的权限。

函数原型

int access(const char *pathname, int mode);

  • pathname:要检查的文件或目录的路径。
  • mode:权限模式,指定了检查的权限。可以是以下之一:
    • F_OK:测试文件是否存在。
    • R_OK:测试读权限。
    • W_OK:测试写权限。
    • X_OK:测试执行权限。

函数返回值:

  • 若文件或目录具有所需权限,则返回 0。
  • 若文件或目录不具有所需权限,则返回 -1,并设置 errno

 示例

#include <stdio.h>
#include <unistd.h>

int main() {
    const char *file = "/path/to/file.txt";

    if (access(file, F_OK) == 0) {
        printf("File exists.\n");
    } else {
        perror("access");
    }

    return 0;
}

在这个例子中,程序通过 access 函数检查文件是否存在。如果文件存在,就输出相应的消息;如果不存在,就通过 perror 输出错误信息。

4、strdup函数

strdup 是 C 语言中的一个函数,用于复制字符串,并返回指向新字符串的指针。 

函数原型

char *strdup(const char *str);

  • str:要复制的字符串。

函数返回一个指针,指向新分配的以 null 结尾的字符串。如果内存分配失败,则返回 NULL

 strdup 函数返回一个指向新分配字符串副本的指针。需要注意的是,由于它在堆上分配了内存,使用完后需要手动释放这块内存,以防止内存泄漏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1508719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创造一款安卓自定义控件(4)——使用Matrix的setPolyToPoly方法实现图像纠正

接上文&#xff1a; 创造一款安卓自定义控件_任意4顶点裁剪框http://t.csdnimg.cn/vu1r5 创造一款安卓自定义控件_任意4顶点裁剪框2_为裁剪框添加放大镜功能http://t.csdnimg.cn/qkngh 创造一款安卓自定义控件_裁剪原理介绍http://t.csdnimg.cn/ORRRL 需求 随着需求修改&#x…

CURE-Net: A Cascaded Deep Network for Underwater Image Enhancement

文章目录 论文结构 及 读论文的方法总结论文理解看图AbstractIntroductionRELATED WORKPROPOSED METHODA Philosophy of Model DesignB Framework of CURE-NetC Proposed GESNet and ORSNetD Proposed DEB and SRBE Loss Function Experiment And ResultA Implementation Detai…

vue学习笔记20-组件全局注册

组件注册方式 一个vue组件在使用前需要先被“注册”&#xff0c;这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式&#xff1a;全局注册和局部注册 ps:之前注册&#xff1a;引入➡️注入➡️显示 全局注册 语法规则 import { createApp } from vueconst app …

java Day7 正则表达式|异常

文章目录 1、正则表达式1.1 常用1.2 字符串匹配&#xff0c;提取&#xff0c;分割 2、异常2.1 运行时异常2.2 编译时异常2.3 自定义异常2.3.1 自定义编译时异常2.3.2 自定义运行时异常 1、正则表达式 就是由一些特定的字符组成&#xff0c;完成一个特定的规则 可以用来校验数据…

洛谷 素数环 Prime Ring Problem

题目描述 PDF 输入格式 输出格式 题意翻译 输入正整数 nn&#xff0c;把整数 1,2,\dots ,n1,2,…,n 组成一个环&#xff0c;使得相邻两个整数之和均为素数。输出时&#xff0c;从整数 11 开始逆时针排列。同一个环恰好输出一次。n\leq 16n≤16&#xff0c;保证一定有解。 多…

AHU 汇编 实验三

实验名称&#xff1a;实验三 串操作指令 二、实验内容&#xff1a; 在数据段定义缓冲区&#xff0c;从键盘接收两串字符到两个缓冲区&#xff0c;将第二串中与第一串字符不一致的字符显示在屏幕。 实验过程&#xff1a; 源代码&#xff1a; data segmentmess1 db 16,?,16…

go go.mod file not found in current directory or any parent directory

场景&#xff1a; 安装好 liteide 之后创建了第一个 “hello world” 的golang 项目&#xff0c;却报了如下错误。 原因分析&#xff1a; go 的环境配置问题。与 golang 的包管理有关。 解决方案&#xff1a; 如果你是 Windows 系统&#xff0c;快捷键 “WinR”&#xff0c…

【教程】使用小米换机来迁移数据

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 1、在新旧手机上都下载安装小米换机app&#xff1a;小米换机-小米应用商店 2、在新手机上&#xff0c;选择旧手机类型 3、授予权限 4、在旧手机上&#xff0c;授予权限 4、输入锁屏密码 5、选择发现的新手机 6、等…

Python高级二

一、异常 1、定义 异常是在程序执行过程中出现的错误或意外情况。当程序遇到异常时&#xff0c;它会中断当前的执行流程&#xff0c;并尝试找到相应的异常处理机制来解决问题。 2、常见异常类型 SyntaxError&#xff1a;语法错误&#xff0c;通常是代码书写不符合Python语法规则…

js【详解】DOM

文档对象模型&#xff08;Document Object Model&#xff0c;简称DOM&#xff09; DOM 是哪种数据结构 &#xff1f; DOM 的本质是浏览器通过HTML代码解析出来的一棵 树。 操作 DOM 常用的 API 有哪些 &#xff1f; 获取 DOM 节点 //方式 1&#xff1a;通过【id】获取&#xf…

【C++】STL(二) string容器

一、string基本概念 1、本质 string是C风格的字符串&#xff0c;而string本质上是一个类 string和char * 区别&#xff1a; char * 是一个指针 string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char*型的容器。 2、特点 1、stri…

PyCM:Python中的混淆矩阵库

PyCM&#xff1a;Python中的混淆矩阵库 在机器学习和数据科学领域&#xff0c;评估模型的性能是至关重要的。混淆矩阵是一种常用的评估工具&#xff0c;用于可视化和量化分类模型的预测结果。PyCM是一个开源的Python库&#xff0c;提供了丰富的功能来计算和分析混淆矩阵。本文将…

rancher是什么

Rancher Labs是制作Rancher的公司。Rancher Labs成立于2014年&#xff0c;是一家专注于企业级容器管理软件的公司。它的产品设计旨在简化在分布式环境中部署和管理容器的过程&#xff0c;帮助企业轻松地采用容器技术和Kubernetes。Rancher Labs提供的Rancher平台支持Docker容器…

Java网络编程详解

目录 网络编程 1、概述 2、网络通信的要素 3、IP 4、端口 5、通信协议 6、TCP 文件上传 Tomcat 7、UDP 单方发送单方接受 双方发送接收 8、URL URL测试 URL下载网络资源 网络编程 1、概述 信件&#xff1a; 计算机网络&#xff1a; 计算机网络是指将地理位置不…

刘敏:楼氏动铁和麦克风助力听力健康技术发展 | 演讲嘉宾公布

一、助辅听器材Ⅱ专题论坛 助辅听器材Ⅱ专题论坛将于3月28日同期举办&#xff01; 听力贯穿人的一生&#xff0c;听觉在生命的各个阶段都是至关重要的功能&#xff0c;听力问题一旦出现&#xff0c;会严重影响生活质量。助辅听器材能有效提高生活品质。在这里&#xff0c;我们将…

FLatten Transformer_ Vision Transformer using Focused Linear Attention

paper: https://arxiv.org/abs/2308.00442 code: https://github.com/LeapLabTHU/FLatten-Transformer 摘要 当将transformer模型应用于视觉任务时&#xff0c;自注意的二次计算复杂度( n 2 n^2 n2)一直是一个持续存在的挑战。另一方面&#xff0c;线性注意通过精心设计的映射…

AI会砸了我们的饭碗?

Sora&#xff0c;由OpenAI推出&#xff0c;是一款创新的文本到视频生成模型。它能够将文本描述转化为引人入胜的高清视频片段。采用了扩散模型和变换器架构&#xff0c;Sora实现了高效的训练。其方法包括统一表示法、基于补丁的表示法、视频压缩网络和扩散变换器。 Sora具备多种…

数据分析-Pandas如何画图验证数据随机性

数据分析-Pandas如何画图验证数据随机性 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

【git bug】warning: auto-detection of host provider took too long (>2000ms)

【git bug】warning: auto-detection of host provider took too long (>2000ms) 报错问题&#xff1a; warning: auto-detection of host provider took too long (>2000ms) 报错截图&#xff1a; 报错描述&#xff1a; 在windows操作系统&#xff0c;未连接互连网电…

Docker初体验之安装部署和镜像加速(openeuler版)

安装部署&#xff1a; 本人使用的为openeuler版本&#xff0c;无法使用二进制进行安装&#xff08;使用二进制安装时&#xff0c;无法使用docker中的补全命令&#xff0c;需要重新进行配置&#xff09;在此使用yum直接进行安装。 [rootlocalhost ~]# yum install docker 镜像…