数组拷贝问题:api接口

简介: 数组拷贝问题:api接口
#include <iostream>
#include <string.h>
using namespace std;
int get_Array(char **srcp1 , int num1, char (*srcp2)[20] , int num2 , char ***ans,int *mynum)
{
    int ret=0 ;
    int num=0;
    char **tmp = NULL;
    if(srcp1 == NULL || srcp2 == NULL || mynum == NULL)
    {
        ret = -1;
        printf("srcp1 == NULL || srcp2 == NULL || mynum == NULL \n");
        return ret;
    }
    //准备在堆上分配内存
    //num = num1 + num2;
    printf("%d\n",num);
    //分配指针数组的内存
    tmp = (char **)malloc(sizeof(char *)*num);
    if(tmp == NULL)
    {
        ret -2;
        printf("tmp == NULL:(char **)malloc(sizeof(char *)*num) \n");
        return -1;
    }
    //分配第二堆内存-->第一钟
    for(int i=0;i<num1;i++)
    {
        tmp[i] = (char *)malloc(strlen(srcp1[i])+1);
        if(tmp[i]==NULL)
        {
            ret = -3;
            printf("tmp[%d]==NULL:(char *)malloc(strlen(srcp1[i])+1)\n",i);
            return ret;
        }
        strcpy(tmp[i],srcp1[i]);
    }
    //分配第二堆内存-->第二钟
     for(int i=0;i<num2;i++)
    {
        tmp[i] = (char *)malloc(strlen(srcp2[i])+1);
        if(tmp[i]==NULL)
        {
            ret = -4;
            printf("tmp[%d]==NULL:(char *)malloc(strlen(srcp2[i])+1)\n",i);
            return ret;
        }
        strcpy(tmp[i],srcp2[i]);
    }
    *ans = tmp;
    *mynum = num;
    return 0;
}
int  get_Array_Free(char ***p , int numlen)
{
    int i;
    char **tmp = NULL;
    if(p==NULL)
    {
        printf("p==NULL\n");
        return -1;
    }
    tmp = *p;
    for(i =0 ;i<numlen;i++)
    {
        if(tmp[i] != NULL)
        {
            free(tmp[i]);
        }
    }
    free(tmp);
    *p = NULL;   //避免野指针
}
int  main()
{
    int ret  = 0;
    int mynum = 0;
    char *p1[] = {"1111","222","4444","5555555"};
    char p2[4][20] = {"bbbb" , "aaaaa" ,"22222" ,"cccccc"};
    char **p3=NULL;
    ret = get_Array(p1,4,p2,4,&p3,&mynum);
    if(ret != 0)
    {
        printf("get_Array error:ret \n",ret);
    }
    for(int i=0;i<mynum;i++)
            printf("%s\n",p3[i]);
    get_Array_Free(&p3 , mynum);
    return 0;
}
相关文章
|
1天前
|
监控 供应链 搜索推荐
数据驱动电商:深度利用淘宝API接口掌握商品详情
本文探讨了如何利用淘宝API接口获取商品详情数据以助力电商决策。通过API,商家能获取商品标题、价格、库存等信息,从而进行市场分析、库存优化、定价策略制定及个性化推荐。步骤包括注册获取API权限、理解文档、构建数据收集流程、处理分析数据以及应用结果。示例代码展示了如何用Python调用API获取商品详情。善用API和数据驱动策略可在电商市场中取得优势。请注意遵循淘宝的API使用规范。
|
2天前
|
JSON 测试技术 API
API接口测试指南:确保接口稳定性与可靠性的实践
API接口测试是确保软件产品质量的重要组成部分。通过遵循本指南中的测试步骤和最佳实践,开发者可以有效地验证API的功能、性能和安全性,从而提升软件的整体质量和用户满意度。
|
2天前
|
人工智能 自然语言处理 API
利用Python调用KimiGPT API接口
Kimi作为国内目前广受欢迎的AI工具,因其出色的性能和智能功能,迅速赢得了大量用户的青睐。随着用户量的激增,系统在高峰时段可能会面临响应压力。正是借助这一热潮,Kimi团队适时推出了其API服务,使用户和开发者能够更加灵活和深入地集成和使用Kimi的智能功能。
|
2天前
|
前端开发 测试技术 API
vite项目怎么build打包成不同环境的代码?从而适配不同环境api接口
vite项目怎么build打包成不同环境的代码?从而适配不同环境api接口
10 0
|
2天前
|
JavaScript 前端开发 API
详解JS的URL()和URLSearchParams() API接口
详解JS的URL()和URLSearchParams() API接口
8 2
|
3天前
|
API 网络架构 数据格式
API接口详解及其在电子商务中的应用研究
本文介绍了API接口在电子商务中的重要性,详细阐述了API的定义、分类(RESTful, SOAP, GraphQL)和设计原则。通过实例展示了API如何促进数据交换和系统集成,如商品信息共享、订单自动化处理。同时,讨论了API安全性措施,并提供了一个Python代码示例来演示如何获取电商平台的商品信息。API在电子商务领域的应用对于提升业务效率和推动行业创新具有显著影响。
|
10天前
|
监控 数据挖掘 API
京东商品API接口:电商数据自动化的钥匙
京东商品API接口为电商领域带来了巨大的便利和潜力。通过本篇文章,读者应该能够了解如何使用京东商品API接口,并通过示例代码学习如何实际调用API获取商品数据。 随着技术的不断发展,京东商品API接口将继续为电商自动化、数据分析和市场研究提供支持,帮助商家和开发者在竞争激烈的市场中保持领先。我们鼓励读者继续探索和学习,充分利用京东商品API接口带来的机遇。
|
20天前
|
监控 安全 数据挖掘
Email 接口API有哪些?具体分析一下阿里云和AOK的优点
本文介绍了常见的Email接口API,如阿里云邮件推送、AOKSend、SendGrid、Mailgun和Amazon SES。阿里云API以其高稳定性和数据分析功能脱颖而出,支持批量发送和多语言;而AOKSend API以易于集成、高安全性和优秀客户支持为亮点。企业在选择时应考虑自身需求和预算,以优化邮件营销效果。
|
20天前
|
定位技术 API
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
|
21天前
|
JSON 安全 API
解锁淘宝商品评论API接口:电商数据分析的新视角
淘宝商品评论API接口是淘宝开放平台提供的一组API接口,允许开发者通过编程方式获取淘宝商品评论数据。这些接口可以获取到商品的详细信息、用户评论、评分等数据,为电商数据分析提供了丰富的素材。