C语言编函数strsub,实现两个字符串的相减,如str1为abcdefg,str2为abc,strsub(str1,str2)后,str1为defg oravle中,substr()函数,如果substr(‘a...

作者&投稿:公彦 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
int strat( char *s, char c )
{
while ( *s )
{
if ( *s==c )
return 1;
s++;
}
return 0;
}
char *strsub( char *s, char *q)
{
    char *t=s,*new_s=s;
    while ( *t )
{
if ( !strat( q, *t) )
*new_s++ = *t ;
t++;
    }
    *new_s='\0';
    return s;
}
void main()
{
char str1[]="abcdefg";
char str2[]="abc" ;
char *p=strsub( str1,str2);
printf("%s
", p );
}


C语言题目。。。。~

/* 各个函数没有任何保护措施 */
/* 其实这个没必要在这问的,完全可以自己看看cstring库函数是怎么实现 */

#include
using namespace std;

void my_strcpy(char *s2,char *s1);
void my_strcat(char *s1,char *s2);
int my_strlen(char *s1);
void my_strcut(char *s1,char *strsub,int m,int len);
void my_sort(char *s1);

int main()
{
char s1[100]="I love China!";
char s2[100];
cout<<"s1 原串为: "<<s1<<endl;
my_strcpy(s2,s1);
cout<<"调用 my_strcpy(s2,s1); 后 s2为: "<<s2<<endl;
my_strcat(s1,s2);
cout<<"调用 my_strcat(s1,s2); 后 s1为: "<<s1<<endl;
int len=my_strlen(s1);
cout<<"调用 my_strlen(s1); 后 得到: "<<len<<endl;
my_strcut(s1,s2,2,4);
cout<<"调用 my_strcut(s1,s2,3,4);后 s2为: "<<s2<<endl;
my_sort(s1);
cout<<"调用 my_sort(s1); 后 s1为: "<<s1<<endl;
return 0;
}

void my_strcpy(char *s2,char *s1)
{
for(int i=0;(s2[i]=s1[i])!='\0';i++);
}

void my_strcat(char *s1,char *s2)
{
int i=0,j=0;
while(s1[i] != '\0') i++;
while(s2[j] != '\0') s1[i++]=s2[j++];
s1[i]='\0';
}

int my_strlen(char *s1)
{
int i=0;
while(s1[i] != '\0') i++;
return i;
}

void my_strcut(char *s1,char *strsub,int m,int len)
{
int j=0;
for(int i=m;(i<m+len)&&s1[i]!='\0';i++)
strsub[j++]=s1[i];
strsub[j]='\0';
}

void my_sort(char *s1)
{
int len=0;
while(s1[len] != '\0') len++;
for(int i=0;i<len-1;i++)
{
char min=s1[i];
int min_pos=i;
for(int j=i+1;j<len;j++)
if(s1[j]<min)
{
min=s1[j];
min_pos=j;
}
s1[min_pos]=s1[i];
s1[i]=min;
}
}

to Hugh, that he might wear a sufficiently

求助c语言的问题 程序运行就立即返回了 不知道是怎么回事大家帮帮忙 谢 ...
答:在主函数最好加一个getch();

VB 传值和传址的问题!急!请VB高手进!
答:之所以让大家了解VarPtr的具体实现,是想告诉大家它的开销并不大,因为它们不过两条指令,即使加上参数赋值、压栈和调用指令,整个获取指针的过程也就六条指令。当然,同样的功能在C语言里,由于语言的直接支持,仅需要一条指令即可。但在VB里,它已经算是最快的函数了,所以我们完全不用担心使用VarPtr会让我们失去效率!速...

数据库编程 为什么要设置数据源?
答:因此,我们可以在应用程序中使用 Windows API中的注册表编辑函数来完成 Windows所做的工作,这样就可以达到动态加载数据源的目的。 具体实现 对于不同类型的数据源,注册表的修改也各有不同,但基本上都要修改两个地方。一个是在 ODBC.INI子键下建立一个与数据源描述名同名的子键,并在该子键下建立与数据源配置相关...

求vb的语言解说
答:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序和自定义函数 Sub StrSubName Function StrFunName(arg[1],..)子程序体 函数体 Exit Sub 中途跳出 Exit Function 中途跳出 End Sub StrFunName=value 返回值 End Function [call] StrSubName 引用子程序 Var=StrFunName(arg[1],..) 引用函数 ...

FOXBASE 中第一个距离查询出来,需要什么
答:1.数值型函数:abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值 直接表示:&Hxx 最大8位 oct(num): 返回八进制值 直接表示:&Oxx 最大8位 sqr(num): 返回平方根 num>0 int(num): 取整 int(99.8)=99; int(-99.2)=...