C++字符串处理函数

简介:

C++失败题

class BYTE
main(){
BYTE * pByte = new BYTE[4];
for(int i = 0; i < 4; i++)
{
  *pByte = i;
  pByte++;
}
}
内存错误,未初始化?
实现字符串拷贝函数strcpy()
#include <iostream>
using namespace std;
char* strcpy(char* dest, const char *src )
{
// char* pdest = static_cast<char*>(dest);
// const char* psrc = static_cast<const  char*>(src);
if((dest==NULL)||(src==NULL))
throw"error";
char* strdest = dest;
while((*dest++ = *src++)!='\0');
return strdest;
}

int main()
{
 char* sdest = (char*)malloc(strlen(str));
 char str[] = "0123456789";
 strcpy( sdest, str);
 cout<< sdest<<endl;
 return 0;
 free(sdest);
}
 
实现内存拷贝函数memcpy()

#include <iostream>
using namespace std;
void* memcpy(void * dest, const void *src, size_t count )
{
 char* pdest = static_cast<char*>(dest);
 const char* psrc = static_cast<char*>(src);
 if(pdest>psrc && pdest<psrc+count)
 {
  for(size_t i=count-1; i!=1; --i)
   pdest[i] = psrc[i];
 }
 else
 {
  for(size_t i=0; i<count; ++i)
   pdest[i]=psrc[i];
 }
 return dest;
}
int main()
{
 char src[]= "0123456789";
 memcpy( str+1; str+0; 9);
 cout<< str<<endl;
 return 0;
}
 
二、编写一函数实现子字符串查找
char *strstr(char* str, char * substr)
 
main()
{
 char b[]="0123456789ABCDEF";
 int c[64],d,i=0,base=16;
 long n;
 scanf("%ld",&n);
 do{
   c[i]=   ;i++;n=n/base;
 }while(n!=0);
  for(--i;i>=0;--i)
  {d=c[i];printf("%c",b[d]);}
  getch();
}
int AnsiString::Pos(const AnsiString& subStr)
{
 int len=subStr.Length();
 int p=0;
 for(int i=0;i<DataLen;i++)
 {
  if(i+1+len<=DataLen)
  {
   if(SubString(i+1,len)==subStr)
   {
    p=i+1;
    break;   
   }
  }
  else
  {
   break;
  }
 }
 return p;
}
 
AnsiString AnsiString::SubString(int index, int count)
{
 index--;
 if(index+count>DataLen)
 {
  count=DataLen-index;
 }
 char* tmp=new char[count+1];
 memcpy(tmp,Data+index,count);
 tmp[count]=0;
 AnsiString Result=tmp;
 delete []tmp;
 return Result;
}
XOR eax,eax(156252207) 22:00:39
pos函数就是

struct A
{
   B*pB;
}
struct B
{
   A* pA;
}
一、实现编译通过:
预声明
struct B;
struct A
{
   B * pB;
};
struct B
{
   A* pA;
};
专注于企业信息化,最近对股票数据分析较为感兴趣,可免费分享股票个股主力资金实时变化趋势分析工具,股票交流QQ群:457394862
分类: C/C++

本文转自沧海-重庆博客园博客,原文链接:http://www.cnblogs.com/omygod/archive/2006/11/08/554696.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
2月前
|
存储 前端开发 C++
C++ 多线程之带返回值的线程处理函数
这篇文章介绍了在C++中使用`async`函数、`packaged_task`和`promise`三种方法来创建带返回值的线程处理函数。
67 6
|
2月前
|
C++
C++ 多线程之线程管理函数
这篇文章介绍了C++中多线程编程的几个关键函数,包括获取线程ID的`get_id()`,延时函数`sleep_for()`,线程让步函数`yield()`,以及阻塞线程直到指定时间的`sleep_until()`。
28 0
C++ 多线程之线程管理函数
|
2月前
|
编译器 C语言 C++
C++入门3——类与对象2-2(类的6个默认成员函数)
C++入门3——类与对象2-2(类的6个默认成员函数)
34 3
|
2月前
|
编译器 C语言 C++
详解C/C++动态内存函数(malloc、free、calloc、realloc)
详解C/C++动态内存函数(malloc、free、calloc、realloc)
304 1
|
2月前
|
存储 编译器 C++
C++入门3——类与对象2-1(类的6个默认成员函数)
C++入门3——类与对象2-1(类的6个默认成员函数)
41 1
|
2月前
|
安全 编译器 C++
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
21 3
|
2月前
|
编译器 C语言 C++
C++入门6——模板(泛型编程、函数模板、类模板)
C++入门6——模板(泛型编程、函数模板、类模板)
53 0
C++入门6——模板(泛型编程、函数模板、类模板)
|
2月前
|
存储 编译器 C++
【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作(二)
【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作
|
3月前
|
编译器 C++
【C++核心】函数的应用和提高详解
这篇文章详细讲解了C++函数的定义、调用、值传递、常见样式、声明、分文件编写以及函数提高的内容,包括函数默认参数、占位参数、重载等高级用法。
28 3