c++课后作业

2024-07-16 661阅读

把字符串转换为整数

int main()
{
	char pn[21];
	cout > pn;
	int last = 0;
	int res[10];
	int j = strlen(pn);
	int idx = 2;
	cout > idx;
	for (int i = 0,len = strlen(pn);i  '9') { cout  *(p2)) return -1;
            else return 1;
        }
        p1++;
        p2++;
    }
    return 0;
   
}

重写strstr

char* caijimystrstr(const char* haystack, const char* needle)
{
    char* p1 = (char*)haystack;
    char* p2 = (char*)needle;
    char* tmp1;
    char* tmp2 = p2;
    while (*p1)
    {
        while (*p1 == *p2)
        {
            tmp1 = p1;
            for (int i = 0; i  

解析XML

bool xmlbuffer(const char* xmlbuf, const char* fieldname, char* value = 0, const size_t ilen = 0)
{
    if (xmlbuf == 0 || fieldname == 0) return false;
    //创建字段
    int lenfieldname = strlen(fieldname);
    //开辟空间
    char* sfieldname = new char[lenfieldname + 3];
    char* efieldname = new char[lenfieldname + 4];
    //初始化
    memset(sfieldname, 0, lenfieldname +3);  // 错误代码 memset(sfieldname, 0, sfieldname); 原因:new出来的空间不能用memset
    memset(efieldname, 0, lenfieldname +4);
    //创建字段
    strcpy(sfieldname, "");
    strcpy(efieldname, "");
    //找字段;
    char* start;
    char* end;
    start = (char*)strstr(xmlbuf, sfieldname);
    end = (char*)strstr(xmlbuf, efieldname);
    //没找到
    if (start == 0 || end == 0)
    {
        delete[] sfieldname;
        delete[] efieldname;
        return 0;
    }
    
    size_t vallen = (end - start - lenfieldname - 2);  //指针减去指针等于数值,表示的是从 start 到 end 的距离减去了 lenfieldname( 的长度)和 2( 的长度)。
    
    if (ilen == 0)
    {
        
        strncpy(value, start + lenfieldname + 2, vallen);
        value[vallen] = 0;
    }
    else if (vallen  lens)
    {
        my2strcpy(dest, src);
    }
    int i = 0;
    for (i = 0; i  
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]