#include <iostream>
#include <string>
struct ZhanghaoInfo
{
char* id;
char* pass;
char* country;
};
bool Help(const char* str)
{
if (str == "/?")
{
std::cout << "123";
return true;
}
return false;
}
int GetIndex(const char* str,const char* find)
{
for (int i = 0; str[i]!='\0'; i++)
{
if (str[i] == find[0])
{
bool isOk{ true };
int x{0};
for (x; find[x]!='\0' ; x++)
{
if (str[x+i] != find[x])
{
isOk = false;
break;
}
}
if (isOk)
{
return x;
}
}
}
return -1;
}
char* SubString(const char* cstr,int index,int length = 0)
{
if (length==0)
{
return (char*)&cstr[index];
}
else
{
char* str = new char[length];
for (int i = index; i < length; i++)
{
str[i] = cstr[i];
}
return str;
}
}
int main(int count, char* c_arg[])
{
ZhanghaoInfo zhanghao{ nullptr,nullptr ,nullptr };
if(!Help(c_arg[1]))
{
for (int i = 1; i<4; i++)
{
int index;
if (zhanghao.id==nullptr)
{
index = GetIndex(c_arg[i], "id:");
if (index != -1)
{
zhanghao.id = SubString(c_arg[i], index);
}
}
if (zhanghao.pass == nullptr)
{
index = GetIndex(c_arg[i], "pass:");
if (index != -1)
{
zhanghao.pass = SubString(c_arg[i], index);
}
}
if (zhanghao.country == nullptr)
{
index = GetIndex(c_arg[i], "country:");
if (index != -1)
{
zhanghao.country = SubString(c_arg[i], index);
}
}
}
if (zhanghao.id==nullptr|| zhanghao.pass == nullptr|| zhanghao.country == nullptr)
{
std::cout << "输入有误,请重新输入正确格式";
return 0;
}
std::cout << "注册成功!\n";
std::cout << "账号:" << zhanghao.id<<" "<< "密码:" << zhanghao.pass<< " " << "国家:" << zhanghao.country<<" ";//输出char*会输出字符串而不是指针地址
}
}
控制台打开c++程序并且模拟注册程序,并打印,无string,char模拟string函数处理字符串
最新推荐文章于 2021-03-11 02:31:04 发布