首页 > 其他分享 >通义灵码生成结构体存取代码

通义灵码生成结构体存取代码

时间:2024-03-14 13:33:48浏览次数:13  
标签:读取 return struct 灵码 Person file printf 存取 通义

输入文本

读取和写入struct结构体

生成代码

#include <stdio.h>

// 定义结构体
struct Person {
    char name[20];
    int age;
};

int main() {
    // 创建结构体变量
    struct Person person = {"Alice", 20};

    // 打开文件
    FILE* file = fopen("person.txt", "wb");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 写入结构体
    if (fwrite(&person, sizeof(struct Person), 1, file) != 1) {
        printf("写入结构体失败\n");
        fclose(file);
        return 1;
    }

    // 关闭文件
    fclose(file);

    // 重新打开文件进行读取
    file = fopen("person.txt", "rb");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 读取结构体
    struct Person readPerson;
    if (fread(&readPerson, sizeof(struct Person), 1, file) != 1) {
        printf("读取结构体失败\n");
        fclose(file);
        return 1;
    }

    // 输出读取的结构体信息
    printf("Name: %s\n", readPerson.name);
    printf("Age: %d\n", readPerson.age);

    // 关闭文件
    fclose(file);

    return 0;
}
此示例首先定义了一个Person结构体,包括姓名和年龄。然后,创建一个Person结构体变量,并将它写入名为person.txt的二进制文件中。接着,重新打开文件,从文件中读取结构体,并输出读取的结构体信息。



我自己改了一下代码,扩展成struct数组

#include <stdio.h>


// 定义结构体
struct Person {
    char name[20];
    int age;
};

int main() {
    
    // 创建结构体变量
    struct Person persons[]={ //结构体数组
    {"张三",145.0},
    {"李四",130.5},
    {"王五",148.5},
    {"赵六",139.0},
    {"小林",150.0}
};

    // 打开文件
    FILE* file = fopen("person.txt", "wb");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 写入结构体
    int num=sizeof(persons)/sizeof(persons[0]);
    for (int i = 0; i < num; i++)
    {
        if ( fwrite(&(persons[i]), sizeof(struct Person), 1, file)!= 1) {
            printf("写入结构体失败\n");
            fclose(file);
            return 1;
        }
    }
    
    // 关闭文件
    fclose(file);

    // 重新打开文件进行读取
    file = fopen("person.txt", "rb");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 读取结构体
    struct Person readPerson[num];
    for (int  i = 0; i < num; i++)
    {
        if (fread(&(readPerson[i]), sizeof(struct Person), 1, file) != 1) {
            printf("读取结构体失败\n");
            fclose(file);
            return 1;
        }
         // 输出读取的结构体信息
        printf("Name: %s\n", readPerson[i].name);
        printf("Age: %d\n", readPerson[i].age);
    }
    

    // 关闭文件
    fclose(file);

    return 0;
}

标签:读取,return,struct,灵码,Person,file,printf,存取,通义
From: https://blog.csdn.net/zhourongxiang1/article/details/136707493

相关文章

  • 阿里通义千问大模型初探
    参考文档:https://help.aliyun.com/zh/dashscope/developer-reference/quick-start一、创建API-KEY控制台地址:https://dashscope.console.aliyun.com/apiKey二、使用javaSDK接入全量输出:根据用户的prompt,一次性将结果输出给用户增量输出:根据用户的prompt,一个字一个字的输出......
  • C#通义千问apl
    1.在阿里申请和开通模型服务灵积:链接地址2.在gitee下载代码:Gitee链接3.在代码中更换你的API-KEY4.注意要开通:通义千问/qwen-turbo模型5.如图所示......
  • 简单几步,钉钉机器人秒变通义千问对话机器人
    简单几步,钉钉机器人秒变通义千问对话机器人    大模型不知不觉已经火了快一年了,拥有一个能够随时对话使用的大模型已经成为不少人的刚需。然而,最大的问题可能是如何访问和调用对话模型。如果,我是说如果,能在您的即时通讯软件钉钉中直接与通义千问对话,是不是会让这一切更方便快......
  • 使用通义灵码插件提高开发效率
    目录概述功能特性安装准备工作VSCode安装IDEA安装使用指南续写代码代码注释写单元测试解释代码含义优化代码问答排查异常总结引用概述通义灵码是阿里云开发的一个编码助手,基于AI大模型,提供代码智能生成,智能问答等功能,旨在加快编码,提高开发效率。功能帮你续写代码帮你写代码......
  • Semantic Kernel + 通义千问:借助 one-api 调用阿里云灵积 DashScope api
    one-api相当于是一个兼容OpenAIapi的api网关(针对api的反向代理),借助one-api可以通过已有的OpenAI客户端调用非OpenAI大模型的api,比如通义千问。DashScope是阿里云提供的模型服务灵积的英文名称,这里通过调用DashScopeapi使用通义千问qwen-max大模型。以容器......
  • 借助 .NET 开源库 Sdcb.DashScope 调用阿里云灵积通义千问 API
    在昨天的博文中,我们通过SemanticKernel调用了自己部署的通义千问开源大模型,但是自己部署通义千问对服务器的配置要求很高,即使使用抢占式按量实例,每次使用时启动服务器,使用完关闭服务器,也比较麻烦,而且越高级的大模型对服务器的配置越高。所以昨天的博文中使用了很低级的Qwen-7B......
  • 初步体验通过 Semantic Kernel 与自己部署的通义千问开源大模型进行对话
    春节之前被SemanticKernel所吸引,开始了解它,学习它。在写这篇博文之前读了一些英文博文,顺便在这里分享一下:IntrotoSemanticKernel–PartOneIntrotoSemanticKernel–PartTwoBuildacustomCopilotexperiencewithyourprivatedatausingandKernelMemory......
  • 以容器方式部署通义千问 Qwen
    准备服务器阿里云云服务器实例规格:轻量级GPU实例ecs.vgn6i-m4-vws.xlarge(4vCPU23GiB)磁盘空间:50G操作系统:Ubuntu22.04安装dockeraptinstalldocker.io安装NVIDIAGRID驱动acs-plugin-manager--exec--plugingrid_driver_install安装NVIDIAContainerToo......
  • 通义千问上线春节新应用,AI帮你免费拍全家福
    2月5日,春节将至年味渐浓,阿里云通义千问APP上线多项免费新应用,涵盖全家福、拜新年、万物成龙等图像生成的新玩法,共提供超300套照片模板,用户上传照片即可生成全家福、团圆照、拜年照、千里江山主题照;此外,一个月前火爆全网的全民舞王应用也迎来上新,用户可通过一张照片生成拜年视频,用更......
  • 国内唯一!通义灵码入选全球智能编码助手使用率 TOP 榜单
    近日,在国内知名科技媒体InfoQ研究中心发布的《中国软件技术发展洞察和趋势预测报告2024》中提到,随着AI和大模型技术的普及,开发者智能编码助手的使用习惯已经养成,其中,开发者使用的智能编码助手产品使用率超过10%的产品共计8款,唯一一款国内企业研发的产品为阿里旗下的通义......