一、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;
}