數據結構學習day8---strstr+symlink+remove+rename+link+truncate

一、strstr

1.頭文件

 #include <string.h>

2.函數原型

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

3.功能

在一個字符串haystack中查找另一個字符串needle的第一次出現,并返回該位置的指針,如果找不到,則返回NULL。

4.代碼示例

輸入一個文件名 *.h 找文件中,所有的#define 。

找到后,按如下格式輸出 #define PI 3.14 /home/linux/1.h 25 -----宏的內容 文件名 行號

#include <stdio.h>
#include <stdlib.h>
#include <string.h>// ./a.out srcfile
int	main(int argc, char **argv)
{if(argc<2){printf("usage:%s srcfile\n",argv[0]);return 1;}//   1.h  123.h   aaa.h   1.23.4.h  1char*end = argv[1];end = &end[strlen(end)-2];if(strlen(argv[1])<=2  && 0!= strcmp(end,".h")){printf("pls input head file\n");return 1;}FILE* fp = fopen(argv[1],"r");if(NULL == fp){printf("fopen error\n");return 1;}int num =1;while(1){char buf[512]={0};if(NULL == fgets(buf,sizeof(buf),fp)){break;}if(strstr(buf,"#define")){buf[strlen(buf)-1]='\0';printf("%s %s %d\n" ,buf,argv[1],num);}num++;}fclose(fp);//system("pause");return 0;
}

二、symlink

1.頭文件

#include<unistd.h>

2.函數原型

int symlink(const char *target,const char *linkpath);

3.功能

創建一個鏈接向oldpath文件的新符號鏈接文件

4.命令行

鏈接文件:file.txt -> hello.c

軟鏈接文件、符號鏈接文件

eg:In -s 123 softlink (快捷方式)?

5.代碼實現

#include <stdio.h>
#include <unistd.h>int	main(int argc, char **argv)
{//復制到的路徑需要設置一個文件名//即/home/linux/Desktop/1.txt而不是/home/linux/Desktopint ret=symlink("/home/linux/1.txt", "/home/linux/Desktop/1.txt");if(-1==ret){printf("symlink error\n");return 1;}// system("pause");return 0;
}

三、remove

1.函數原型

int remove(const char *pathname);

2.功能

刪除一個文件

3.參數

pathname:刪除文件的路徑

4.返回值

成功返回0
失敗返回-1

5.代碼實現

#include <stdio.h>
int main(int argc, char **argv)
{int ret = remove("/home/linux/Desktop/1.txt");if (-1 == ret){printf("remove error\n");return 1;}// system("pause");return 0;
}

四、rename

1.命令行

mv? /? rename

2.函數原型

int??rename(const??char??*oldpath,??const?char?*newpath);

3.功能

將一個老的路徑名改為新的路徑

4.參數

oldpath:老路徑名
newpath:新路徑名

5.返回值

成功返回0
失敗返回-1

6.代碼實現

#include <stdio.h>int main(int argc, char **argv)
{int ret = rename("4.txt", "3.txt");if (-1 == ret){printf("rename error\n");return 1;}// system("pause");return 0;
}

五、link?

ln?1?2?

1.頭文件

?#include <unistd.h>

?2.函數原型

int??link(const?char?*oldpath,?const?char?*newpath);

3.功能

創建一個硬鏈接文件

4.參數

oldpath:要鏈接向的文件
newpath:創建的新硬鏈接文件

5.返回值

成功返回0
失敗返回-1

5.代碼實現

#include <stdio.h>
#include <unistd.h>int	main(int argc, char **argv)
{int ret=link("3.txt", "4.txt");if(-1==ret){printf("link error\n");return 1;}// system("pause");return 0;
}

六、truncate

1.頭文件

  #include <unistd.h>#include <sys/types.h>

2.函數原型

int truncate(const char *path, off_t length);

3.功能

出錯相關函數接口

截斷文件

4.參數

path:文件路徑

length:截斷后文件長度

5.代碼實現

#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>int	main(int argc, char **argv)
{int ret=truncate("3.txt",264);if(-1==ret){printf("truncat error\n");return 1;}// system("pause");return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87459.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87459.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87459.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能設備遠程管理:基于OpenAI風格API的自動化實踐

在數字化轉型的浪潮中&#xff0c;智能設備的遠程管理功能變得越來越重要。通過API接口實現對智能設備的自動化操作&#xff0c;不僅可以提高工作效率&#xff0c;還可以增強系統的靈活性和可擴展性。本文將詳細介紹如何利用Python和openai庫&#xff0c;結合一個類似OpenAI風格…

數字電路工作原理

1、數字電路的分類 2、基本結構和特點 3、電路特性 4、電路互連 5、電路選型基本原則 1、數字電路的分類 GaAs 該電路類型 速度快,功耗大,原料劇毒,至今尚未被大量應用 硅 出現了單極型 PMOS NMOS CMOS 雙極性 TTL STTL、LSTTL、ALSTTL、FTTL、LVTTL ECL MEC…

C# 進行音視頻編解碼開發

一、音視頻編解碼基礎 1.1 基本概念 音視頻編解碼是數字媒體處理的核心技術,主要涉及將原始音視頻數據進行壓縮編碼以便存儲和傳輸,以及將壓縮數據解碼為可播放的原始格式。在 C# 環境下開發音視頻編解碼器,需要先了解幾個關鍵概念: 編碼 (Encoding):將原始音視頻數據轉…

YOLOv11深度解析:Ultralytics新一代目標檢測王者的創新與實踐(附網絡結構圖+訓練/推理/導出全流程代碼詳解)

?? 一、YOLOv11為何成為新標桿? 2024年底,Ultralytics正式推出YOLOv11,在COCO數據集上以更少參數量(減少22%) 實現了超越YOLOv8的精度,成為邊緣設備與云端部署的新寵。其核心創新在于: 輕量化設計:深度可分離卷積(DWConv)大幅降低計算量注意力增強:C2PSA模塊提升…

live server插件vscode的配置

安裝完其實就可以直接使用了&#xff0c;一般來說不必手動配置&#xff0c;點擊右下角的go live按鈕就可以運行。默認端口是5500 好的&#xff0c;為你詳細說明如何在 VS Code 中配置 Live Server 插件。這是一個非常有用的插件&#xff0c;我們不僅會講如何安裝和使用&#x…

基于MATLAB的風力發電機無人機巡檢路徑優化研究

基于MATLAB的風力發電機無人機巡檢路徑優化研究 摘要 本文針對風力發電機無人機巡檢路徑優化問題,提出了一種基于三維參數建模與智能優化算法的解決方案。通過建立風力發電機的三維幾何模型,綜合考慮無人機的飛行約束條件和巡檢任務需求,設計了多目標優化函數,并采用改進…

經緯度哈希編碼實現方式

背景&#xff1a;在大數據數倉建設的過程中&#xff0c;有時會遇到經緯度類型的數據信息&#xff0c;但在進行關聯分析和數倉建設的時候用經緯度去關聯&#xff0c;難免不夠便捷&#xff0c;于是我們可以開發UDF使用地理經緯度信息哈希編碼的方案進行開發&#xff0c;非常有效 …

支持向量機(SVM)深度解析:從數學根基到工程實踐

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;10年以上C/C, C#, Java等多種編程語言開發經驗&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開…

矩陣的范數和逆矩陣的范數的關系

文章目錄 前提條件關鍵結論推導過程簡述注意事項示例說明&#x1f4d8; 譜范數定義? 步驟一&#xff1a;計算 A T A A^T A ATA? 步驟二&#xff1a;求 A T A A^T A ATA 的特征值? 步驟三&#xff1a;取最大特征值的平方根? 對 A ? 1 A^{-1} A?1 做同樣的操作? 最終結…

成像光譜遙感技術中的AI革命:ChatGPT在遙感領域中的應用

課程將最新的人工智能技術與實際的遙感應用相結合&#xff0c;提供不僅是理論上的&#xff0c;而且是適用和可靠的工具和方法。無論你是經驗豐富的研究人員還是好奇的從業者&#xff0c;本課程都將為分析和解釋遙感數據開辟新的、有效的方法&#xff0c;使你的工作更具影響力和…

Debian12 安裝 sippts

試了試&#xff0c;貌似不復雜&#xff0c;記錄如下&#xff1a; apt-get install -y python3 python3 --version # 3.11.2 apt-get install -y python3-pip pip3 --version # 24.3.1 rm /usr/lib/python3.11/EXTERNALLY-MANAGED cd /usr/src git clone https://github.com/…

VR Panorama 360 PRO Renderer保姆級別教程

總覽: 全景圖及全景視頻錄制插件有兩個 一個是件(以下簡稱VR360插件) 一個是Unity官方的Unity Recorder插件(以下簡稱Recorder插件) 在圖片清晰度上VR 360插件要高于Recorder插件,所以渲染全景圖時,優先使用VR 360插件,當然全景視頻也可以使用VR360插件。 但VR 360插件…

cv610將音頻chn0配置為g711a,chn1配置為 aac編碼,記錄

cv610將音頻chn0配置為g711a,chn1配置為 aac編碼,記錄 工程代碼在文章底部 編譯時放在 sdk的同級目錄 sdk_version: sdk_V010,打了AOV的補丁 aenc可以配置為 chn0=g711a, chn1=aac 設置兩個編碼通道為不同編碼屬性 主要思路為在 ss_mpi_aenc_create_chn時將 chn1配置編碼為…

CAD2018,矩形設計,新增文字,塊新增與打散

一、矩形設計 1.選擇頁面&#xff0c;點擊左鍵&#xff0c;直接輸入【rec】&#xff0c;回車&#xff1b; 2.長按鼠標左鍵&#xff0c;拉出矩形&#xff0c;抬起左鍵。 3. 會生成一個矩形框。 4. ①輸入寬度數值&#xff0c;②輸入逗號切換到高度&#xff0c;③輸入高度。 5.成…

day047-部署我的世界-java版服務器

文章目錄 1. 官方地址2. Ubuntu配置服務端2.1 下載服務端jar包&#xff0c;并上傳2.2 安裝jdk2.3 啟動服務端2.4 設置云安全組 3. 客戶端-我的世界啟動器 1. 官方地址 官方服務端下載地址&#xff1a;[Minecraft 服務器下載 | Minecraft](https://www.minecraft.net/zh-hans/d…

飛算JavaAI:精準切中開發者痛點,專治“AI生成代碼不可用、邏輯混亂”的頑疾

飛算JavaAI&#xff1a;精準切中開發者痛點&#xff0c;專治“AI生成代碼不可用、邏輯混亂”的頑疾 一、前言二、關于飛算JavaAI2.1 飛算JavaAI來源2.2 飛算JavaAI超能力 三、飛算JavaAI我的另一半3.1 Idea安裝配置3.2 Main方法寫個九九乘法表3.3 Main方法寫個冒泡排序3.4 老項…

傘兵 釣魚的肝

題目描述 為了在敵國滲透作戰&#xff0c;指揮官決定&#xff1a;派出傘兵前往敵國&#xff01;然而敵國的風十分強烈&#xff0c;能讓傘兵在同一高度不停轉悠&#xff0c;直到被刮到一個無風區…… 輸入格式 第一行兩個整數 n,m&#xff0c;表示敵國的大小。 以下 n 行&am…

GoFastDFS:輕量級高性能分布式文件存儲解決方案(Linux安裝部署)

一、GoFastDFS概述 GoFastDFS是一個基于HTTP協議的分布式文件存儲系統&#xff0c;采用Go語言開發&#xff0c;具有輕量級、高性能、易部署等特點。它專為互聯網應用設計&#xff0c;特別適合圖片、視頻、文檔等中小文件的存儲與分發場景。 它基于大道至簡的設計理念&#xf…

python 原型污染 perl符號表污染 -- Google 2025 MYTHOS

題目實現了一個Game,分為前后端 part 1 前端存在明顯原型污染 def copy(src, dst):for k, v in src.items():if hasattr(dst, "__getitem__"):if dst.get(k) and type(v) dict:copy(v, dst.get(k))else:dst[k] velif hasattr(dst, k) and type(v) dict:copy(v, ge…

數據結構day4——棧

目錄 一、棧的核心概念 什么是棧&#xff1f; 棧的核心特性 二、棧的基本操作 三、C 語言實現棧的兩種方式 1. 順序棧&#xff08;基于數組實現&#xff09; 實現代碼 順序棧的優缺點 2. 鏈式棧&#xff08;基于鏈表實現&#xff09; 實現代碼 鏈式棧的優缺點 四、…