澳门正规赌博十大网站-澳门游戏网站
做最好的网站

C字符串替换函数实例详解,chattr指令详解及用法

NAME  
 lsattr - 显示文件的隐藏属性 
SYNOPSIS 
 lsattr [ -RVadv ] [ files... ] 
OPTIONS 
 -R 递归的将子目录的数据也列出来 
 -V 显示程序的版本信息 
 -a 将隐藏文件的属性也显示出来 
 -d 如果是目录,仅列出目录本身的属性而非目录内的文件 

C字符串替换函数实例详解,chattr指令详解及用法。linux指令man page之rm,mv详解

C字符串替换函数实例详解,chattr指令详解及用法。C字符串替换函数实例详解,chattr指令详解及用法。谢谢阅读,希望能协助到大家,多谢我们对本站的帮忙!

  man touch

NAME  
 mv - 移动(重命名)文件 
SYNOPSIS 
 mv [OPTION]... [-T] SOURCE DEST 
 mv [OPTION]... SOURCE... DIRECTORY 
 mv [OPTION]... -T DIRECTORY SOURCE... 
DESCRIPTION 
 将SOURCE重命名为DEST,或者将SOURCE移动到DIRECTORY下 
 --backup[=CONTORL] 为已存在的文件创建一个备份 
 -b 不接受参数的--backup 
 -f, --force 覆盖已有文件前不询问 
 -i, --interactive 覆盖已有文件前询问 
 -u, --update 目标文件存在时,若SOURCE的版本比较新才会更新 
 --help 显示帮助信息 
 --version 显示版本信息 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>



/**
*
* @author: cnscn@163.com
* @reference: lovesnow1314@http://community.csdn.net/Expert/TopicView3.asp?id=5198221 
*
* 用新子串newstr替换源字符串src中的前len个字符内所包含的oldstr子串
*
* @param char* dest 目标串,也就是替换后的新串
* @param const char* src 源字符串,被替换的字符串
* @param const char* oldstr 旧的子串,将被替换的子串
* @param const char* newstr 新的子串
* @param int len 将要被替换的前len个字符
*
* @return char* dest 返回新串的地址
*
*/
char *strreplace(char *dest, char *src, const char *oldstr, const char *newstr, size_t len)
{
//如果串相等,则直接返回
if(strcmp(oldstr, newstr)==0)
return src;

//子串位置指针
char *needle;

//临时内存区
char *tmp;

//把源串地址赋给指针dest,即让dest和src都指向src的内存区域
dest = src;

//如果找到子串, 并且子串位置在前len个子串范围内, 则进行替换, 否则直接返回
while((needle = strstr(dest, oldstr)) && (needle -dest <= len))
{
//分配新的空间:  1 是为了添加串尾的'\0'结束符
tmp=(char*)malloc(strlen(dest) (strlen(newstr)-strlen(oldstr)) 1);

//把src内的前needle-dest个内存空间的数据,拷贝到arr
strncpy(tmp, dest, needle-dest);

//标识串结束
tmp[needle-dest]='\0';

//连接arr和newstr, 即把newstr附在arr尾部, 从而组成新串(或说字符数组)arr
strcat(tmp, newstr);

//把src中 从oldstr子串位置后的部分和arr连接在一起,组成新串arr
strcat(tmp, needle strlen(oldstr));

//把用malloc分配的内存,复制给指针retv
dest = strdup(tmp);

//释放malloc分配的内存空间
free(tmp);
}

return dest;
}

int main()
{
char *str="wo i love iyou";
char *old="i";
char *new="ILOVEYOUYA";

char *dest;
//分配内存空间: 大小 == src的长度 + newstr和oldstr长度差(可能是正负或0) 1
printf("%sn",strreplace(dest, str, old, new,1));
printf("%sn",strreplace(dest, str, old, new,5));
printf("%sn",strreplace(dest, str, old, new,40));

return 0;
}
NAME   
 chattr - 更改文件的隐藏属性 
SYNOPSIS 
 chattr  -=[ASacDdIijsTtu] files... 
OPTIONS 
  :增加一个特殊参数;-:移除一个特殊参数;=:设定参数为设定的参数 
 A:若有存取此档案或者目录时,他的atime时间戳将不会被修改 
 S:当进行任何档案的修改,该更懂会“同步”写到磁盘中 
 a: 这个档案将只能增加数据,而不能删除也不能修改数据,只有root才能修改这个属性 
 c: 自动将此档案“压缩”,读取的时候自动解压缩,存储的时候先进行压缩后再存储 
 d: 该档案或目录不会被dump备份 
 i: 让档案不能被删除、改名、设定连结、无法写入或新增资料,只有root能设定此属性 
 s: 档案删除时,或被完全移除,无法找回 
 u: 与s相反,不会完全删除,可以找回删除的档案 

  man rm

               目前求学linux 的根底编制程序知识,字符串替换函数,在网络找下资料,感觉那篇小说写的不利,记录下来,和豪门享受一下:

 linux touch,chattr指令详解

  man mv

Linux C字符串替换函数实例详解

本文由澳门正规赌博十大网站发布于澳门游戏网站,转载请注明出处:C字符串替换函数实例详解,chattr指令详解及用法