STRING

来源:互联网 发布:mac ps 破解器 编辑:程序博客网 时间:2024/06/05 01:55

#ifndef _STRING_H_
#define _STRING_H_

#define MAXSTRLEN 10
typedef unsigned char SString[MAXSTRLEN + 1];

bool strAssign(SString &str, char c);
bool strCopy(SString &str, SString s);
bool strEmpty(SString str);

bool strCompare(SString str, SString s);
unsigned int strLength(SString str);
bool clearString(SString &str);
bool concat(SString &t, SString str, SString s);

bool subString(SString &sub, SString S, unsigned pos, unsigned len);
void Index(SString s, SString t, unsigned pos);

bool Replace(SString &t, SString &s, SString v);
bool strInsert(SString &s, unsigned int pos, SString t);

bool strDelete(SString &s, unsigned int pos, unsigned int len);
bool destroyStr(SString &s);
#endif

 

#include "string.h"
#include <stdio.h>
bool strAssign(SString &str, char c)
{
 for (int i = 0; i < MAXSTRLEN; i++)
 {
  str[i] = c;
  printf("str[%d] = %c/n", i, str[i]);
 }
 str[MAXSTRLEN] = '/0';
 return true;
}
bool strCopy(SString &str, SString s)
{
 for (int i = 0; i < MAXSTRLEN; i++)
 {
  str[i] = s[i];
 }
 str[MAXSTRLEN] = '/0';
 return true;

}
bool strEmpty(SString str)
{

 if ('/0' == str[0])
 {
  return true;
 }
 else
 {
  return false;
 }
 //return true;

}

bool strCompare(SString str, SString s)
{
 bool b_Same = false;
 for (int i = 0; i < MAXSTRLEN; i++)
 {
  if (str[i] != s[i])
  {
   b_Same = true;
   break;
  }
  else
  {
   continue;
  }
 }
 return b_Same;

}
unsigned int strLength(SString str)
{
 unsigned len = 0;
 for (int i = 0; i < MAXSTRLEN + 1; i++)
 {
  if ('/0' == str[i])
  {
   break;
  }
  else
  {
   len++;
  }
 }
 return len;

}
bool clearString(SString &str)
{
 str[0] = '/0';
 return true;

}
bool concat(SString &t, SString str, SString s)
{

 return true;

}

bool subString(SString &sub, SString S, unsigned pos, unsigned len)
{
 return true;

}
void Index(SString s, SString t, unsigned pos)
{
 return;
}

bool Replace(SString &t, SString &s, SString v)
{
 return true;
}
bool strInsert(SString &s, unsigned int pos, SString t)
{
 return true;
}

bool strDelete(SString &s, unsigned int pos, unsigned int len)
{
 return true;
}
bool destroyStr(SString &s)
{
 return true;
}

 

 

#include "string.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>

int main()
{
 SString s;
 strAssign(s, 's');
 printf("%s/n", s);
 //char ch[25] = "ccccccccccccccccccc";
 //printf("%s/n", ch);
 //memcpy(ch, s, 25);
  //printf("%s/n", ch);
 SString ss;
 strCopy(ss, s);
 printf("%s/n", ss);

 SString sc = "ccccc";
 SString sd = "";
 bool b_Empty = strEmpty(sc);
 if (b_Empty)
 {
  printf("empty/n");
 }
 else
 {
  printf("not empty/n");
 }
 b_Empty = strEmpty(sd);
 if (b_Empty)
 {
  printf("empty/n");
 }
 else
 {
  printf("not empty/n");
 }
 SString sa = "aaaa";
 SString sb = "aa";
 bool b_Same = strCompare(sa, sb);
 if (b_Same)
 {
  printf("not same/n");
 }
 else
 {
  printf("same/n");
 }
 SString se = "eeee";
 SString sf = "eeee";
 b_Same = strCompare(se, sf);
 if (b_Same)
 {
  printf("not same/n");
 }
 else
 {
  printf("same/n");
 }


 SString sg = "eeeee";
 printf("%s/n", sg);
 unsigned len = strLength(sg);
 clearString(sg);
 printf("%s/n", sg);
 return 0;
}

原创粉丝点击