zoukankan      html  css  js  c++  java
  • C++ retrieve array via returned array pointer .Retrieve array via returned pointer one by one.

    #include <iostream>
    #include <uuid/uuid.h>
    #include <pthread.h>
    
    using namespace std;
    
    void retrieveUuid(char *uuidValue);
    struct BookStruct
    {
        int BookId;
        char *BookName;
        char *BookTitle;
    };
    
    static int num=1;
    
    struct BookStruct * retrieveArr();
    void retrieveStructArr();
    
    int main()
    {
        retrieveStructArr();
        return 0;
    }
    
    void retrieveStructArr()
    { 
        struct BookStruct *p;
        p=retrieveArr();
        for(int i=0;i<100;i++)
        {
            printf("Index=%d,Id=%d,Name=%s,Title=%s\n",i,(p+i)->BookId,(p+i)->BookName,(p+i)->BookTitle);
            free((p+i)->BookName);
            free((p+i)->BookTitle);
        } 
        printf("Finished in retrieveStructArr()!\n");    
    }
    
    struct BookStruct * retrieveArr()
    {
        static struct BookStruct arr[100];
        for(int i=0;i<100;i++)
        {
             arr[i].BookId=num*num*num*num;
             ++num;
             arr[i].BookName=(char*)malloc(40);
             retrieveUuid(arr[i].BookName);
             arr[i].BookTitle=(char*)malloc(40);
             retrieveUuid(arr[i].BookTitle);
        }
        struct BookStruct *structP;
        structP=&arr[0];
        return structP;
    }
    
    void retrieveUuid(char *uuidValue)
    {
        uuid_t newUUID;
        uuid_generate(newUUID);
        uuid_unparse(newUUID, uuidValue);
    }

    Compile as below command

    g++ -g -std=c++2a -I. h1.cpp -o h1 -luuid -lpthread

    #include <iostream>
    #include <uuid/uuid.h>
    #include <pthread.h>
    
    using namespace std;
    
    void retrieveUuid(char *uuidValue);
    
    struct BookStruct
    {
        int BookId;
        char *BookName;
        char *BookTitle;
    };
    
    static int num=1;
    
    void retrivedSingle(struct BookStruct *structP);
    void array6();
    
    int main()
    {
        array6();
        return 0;
    }
    
    void array6()
    {
        struct BookStruct arr[100];
        for(int i=0;i<100;i++)
        {
            retrivedSingle(&arr[i]);
        }
    
        for(int i=0;i<100;i++)
        {
            printf("Index=%d,Id=%d,Name=%s,Title=%s\n",i,arr[i].BookId,arr[i].BookName,arr[i].BookTitle);
            free(arr[i].BookName);
            free(arr[i].BookTitle);
        }
    
        printf("\nFinished in array6()\n");
    }
    
    void retrivedSingle(struct BookStruct *structP)
    {
        (*structP).BookId=num*num*num*num;
        ++num;
        (*structP).BookName=(char*)malloc(40);
        (*structP).BookTitle=(char*)malloc(40);
        retrieveUuid((*structP).BookName);
        retrieveUuid((*structP).BookTitle);
    }
    
    
    void retrieveUuid(char *uuidValue)
    {
        uuid_t newUUID;
        uuid_generate(newUUID);
        uuid_unparse(newUUID, uuidValue);
    }

    Compile as below:

    g++ -g -std=c++2a -I. h1.cpp -o h1 -luuid -lpthread

  • 相关阅读:
    开发笔记-图片拉伸保持不变形
    开发笔记-简单渐变动画的实现
    开发笔记- iOS监听某些事件的方法简单梳理
    开发笔记-UIApplication代理
    开发笔记-UIApplication单例
    常见的UNIX命令
    知识点回顾-简单的TableView单组数据展示/多组数据展示
    开发技巧-改变按钮属性3部曲
    字典--plist
    如何使用JS实现页面内容随机显示
  • 原文地址:https://www.cnblogs.com/Fred1987/p/15683300.html
Copyright © 2011-2022 走看看