c语言换函数比如机器猫 c语言互换函数

c语言,交换函数

交换函数很好写。

专注于为中小企业提供做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业安平免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

比较难的读文件。文件格式 与 读语句要 相配。 特别是 多余 的 空行和回车键。

调试时用 printf 语句 检查 读得对不对。

fgets() 函数可用来读整行的字符串,含回车键。

#include stdio.h

#includestdlib.h

void jh(char *a, char *b){

char x[100];

strcpy(x,a),strcpy(a,b),strcpy(b,x);

}

int main(){

FILE *fp;

int n,i,j;

char a[100];

char b[100];

char ch;

if((fp=fopen("2.2.txt","r"))==NULL){

printf("Error");

exit(0);

}

fgets(a,100,fp);

sscanf(a,"%d",n);

//printf("n=%d\n",n);

for(j=1;j=n;j++){

fgets(a[0],100,fp);

//printf("read a: %s",a);

fgets(b[0],100,fp);

// printf("read b: %s",b);

printf("Case %d\n",j);

jh(a,b);

printf("%s",a);

printf("%s",b);

fgets(a[0],100,fp); // 假定2组数间只有一个空白行,则用它跳过。

}

fclose(fp);

return 0;

}

c语言 字符串替换函数

替换函数主要有strtr(),str_repalce()这两个函数。

首先针对strtr函数第一种方式:

我们看看下面的举例:

?php

echo strtr("I Love you","Lo","lO");

?

得到的结果是:

I lOve yOu

这个结果提醒我们:

1.strtr它是区分大小写的

2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意。

再举一个特殊例子,说明这个php的sttr函数的怪异

?php

echo strtr("I Love you","Love","");

?

结果是:

I Love you

什么也不会改变,所以strtr需要注意的是:

3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况:

?php

echo strtr("I Loves you","Love","lOvEA");

?

结果是:

I lOvEs yOu

注意看第三个参数的A,在结果中并没有出现。

4.我不建议用strtr以少换多。

ok,既然这个strtr函数挺麻烦为什么还要用呢?

原因是,它的速度很快。据说,strtr 比 str_replace 快四倍。

5.能用strtr函数的时候一定要用。

第二种情况:

strtr(string,array)

6.strtr符合意愿的使用方法

?php

$table_change = array('you'='her sister');

echo strtr("I Love you",$table_change);

?

结果为:

I Love her sister

7.小技巧:你想到替换什么你就往数组加什么

比如:

?php

$table_change = array('you'='her sister');

$table_change += array('Love' = 'hate');

echo strtr("I Love you",$table_change);

?

结果是:

I hate her sister

再次提醒那个Love 写成love 是行不通的哦。

字符串取代。

语法: string str_replace(string needle, string str, string haystack);

返回值: 字符串

函数种类: 资料处理

内容说明

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。

下例将 %body% 以 black 取代

?php

$bodytag = str_replace("%body%", "black", "body text=%body%");

echo $bodytag;

?

格式:

[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]

[@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]

[@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]

实例:

多对一替换:想把内容字段里所有的p/p标签清除掉,替换成空 [@str_replace(array('p','/p'), '', $Content)]

一对一替换:想把内容字段里所有的br标签换成p [@str_replace('br', 'p', $Content)]

多对多替换:想把内容字段里的br换成br /, 同时p换hr,把/p全清除 [@str_replace(array('br', 'p','/p'), array('br /','hr',''), $Content)]

用指针编写一个替换函数(C语言版)

这是因为:file=fopen("/tmp/test/test","a+");

模式 “a+” 中的 a 规定以只写打开,保留。

因此你不能读,只能写。写的时候只能在的末尾开始写。

即使你将重新定位过,

在执行写操作的时候,

回到的末尾了。

也就是被保护起来,你是无法操作的。

无法操作的定义是:不能再对执行添加,删除,插入等。

因此,你要在的开头插入数据,可能要绕个弯子:

1.用只读模式("a") 先读出,保存到内存

2.用只写模式(“w”)清除

3.文件开头插入的信息。

4.再追加(保存在内存)

当然如果在文件末尾添加就方便多了,用 "a" 模式一步到位。

下面使用这种思路进行插入信息的示例代码:

#include stdio.h

#include stdlib.h

#includestring.h

const int MAX_FILE_SIZE = 100;

//读取文件内容

int fileRead(char fileName[],char content[],int* content_len)

{

FILE *infile;

char ch;

infile=fopen(fileName,"r");

*content_len=0;

if(infile==NULL)

{

printf("get infile eroor\n");

return 0;

}

else

{

rewind(infile);

while(EOF!=(ch=fgetc(infile)))

{

content[(*content_len)++]=ch;

}

}

fclose(infile);

return 1;

}

//在文件末尾追加内容

int fileAppend(char fileName[] ,char content[],int content_len)

{

FILE *outfile;

outfile=fopen(fileName,"a");

fwrite(content,content_len,1,outfile);

fclose(outfile);

}

int fileClear(char fileName[])

{

FILE *file = fopen(fileName,"w");

fclose(file);

}

//在文件开头插入内容

int insetMessageInfile(char fileName[] ,char message[],int message_len)

{

char content[MAX_FILE_SIZE];

int content_len=0;

fileRead(fileName,content,content_len);

fileClear(fileName);

fileAppend(fileName,message,strlen(message));

fileAppend(fileName,content,content_len);

}

int main(void) {

char fileName[] = "data.txt";

char msg[3]="12";

//文件内容缓存区

char content[MAX_FILE_SIZE];

int content_len=0;

int i;

fileRead(fileName,content,content_len);

for(i=0;icontent_len;i++) printf("%c",content[i]);

printf("\n");

insetMessageInfile("data.txt",msg,strlen(msg));

fileRead(fileName,content,content_len);

for(i=0;icontent_len;i++) printf("%c",content[i]);

printf("\n");

return EXIT_SUCCESS;

}

concat和strcat有什么区别,C语言中

concat 是 concatenate 的简短写法。

strcat 用于2个字符串 的 concatenate 操作,即把一个字符串 粘到另一个字符串末端,组成一个合起来的新字符串。这里的 cat 不是猫,而是concatenate。

c 语言中没有 名叫 concat 的函数。若有,应当是自定义函数,例如可以把多个字符串连接起来的自定义函数。

如何用C语言画出一只猫

方法很多。

简单点,字符组成猫图像,也可以用网上现成猫符号图像,或点阵图,复制到文件,然后读取到字符数组打印。

复杂点,使用fopen读取二进制图片文件,根据图片类型,建立对应结构体,读取出文件流中的图片头信息,图片信息,调色板数据,图片数据。其中图片数据就包含了图片颜色信息,比如24位图片,一个像素中三原色信息分别占1个字节。

当然,你也可以用其他更方便的编程语言处理图像,比如matlab、python,或OpenCV工具。


文章标题:c语言换函数比如机器猫 c语言互换函数
转载来源:http://azwzsj.com/article/docoocj.html