简单数据保存程序(文件形式)

#include <stdio.h>
#include <stdlib.h>        //exit()函数
#define LEN 20
void printf_file();        //打印函数
void create_file();        //录入数据
struct student
{
        char sid[LEN];
        char name[LEN];
};
int main()
{
        int user_choose;
        while(1)
        {
                printf("\n\n");
                printf("1. 打印数据到屏幕\n");
                printf("2. 录入数据到文件\n");
                printf("3. 退出\n\n");
                printf("请选择: ");
                scanf("%d", &user_choose);
                switch(user_choose)
                {
                case 1:
                        printf_file();
                        break;
                case 2:
                        create_file();        //录入数据到文件
                        break;
                case 3:
                        exit (0);        //终止整个程序
                default:
                        break;
                }
        }
        return 0;
}

//打印数据
void printf_file()
{
        //打开文件
        printf("\n\n>>以下为打印的信息<<\n");
        char ch;
        FILE *fp = fopen("fishc.txt", "r");        //以只读方式打开
        if(!fp)
        {
                perror("fishc.txt");        //打印出错信息
                printf("还没有录入任何信息!\n");
                return;        //终止这个printf_file()
        }
        while((ch = fgetc(fp)) != EOF)
        {
                printf("%c", ch);
        }
        if(!feof(fp))        //如果到了文件尾, 会返非零, 其他情况返回0
        {
                perror("fishc.txt");
                return;
        }
        //正常退出
        printf("\n");
}
//录入数据
void create_file()
{
        printf("\n\n");
        //首先打开一个文件
        FILE *fp = fopen("fishc.txt", "a+");        //追加方式打开
        char ch;
        struct student stu;
        if(!fp)
        {
                perror("fishc.txt");
                return;        //退出录入
        }
        do
        {
                printf("请输入学号 :");
                scanf("%s", stu.sid);
                printf("请输入姓名 :");
                scanf("%s", stu.name);
                fflush(stdin);        //清除缓冲区
                //把输入的信息保存到文件
                fputs(stu.sid, fp);        //写入数据
                fputc('\t', fp);
                fputs(stu.name, fp);//写入字符
                fputc('\n', fp);
                printf("还要继续录入数据吗(Y/N):");
                ch = getchar();
                fflush(stdin);        //清除缓冲区
        }while(ch == 'Y' || ch == 'y');
        fclose(fp);
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 十六进制数据是计算机中常用的数据表示方法之一,其每个数字字符都代表4个二进制位。为了方便保存和传输这些数据,我们可以将其保存为hex文件。 hex文件是一种以文本形式保存十六进制数据文件格式。在hex文件中,每2个字符代表一个字节的十六进制值。例如,十六进制值0A代表二进制值0000 1010,而十六进制值FF代表二进制值1111 1111。 保存为hex文件的好处是可以轻松地在不同计算机平台上进行数据传输和共享。由于hex文件是文本文件,所以可以直接在任何文本编辑器中打开和编辑。这使得我们可以很容易地查看和修改十六进制数据保存为hex文件的过程很简单。首先,将十六进制数据按照每个字节的形式写入到文件中。每个字节都以0x开头,并用空格或其他分隔符隔开。然后,确保文件的扩展名为.hex或者.txt以明确表示其为hex文件。 总之,保存为hex文件是一种方便的方式来保存和传输十六进制数据。它可以在不同平台上进行数据传输和共享,并且可以轻松地在文本编辑器中进行查看和修改。 ### 回答2: 16进制数据保存为hex文件是一种常见的数据保存方式。它将数据以16进制的形式编码,并将其保存在一个文本文件中。每个字节的数值被表示为0-9和A-F的字符之一。每个字节之间可能会有空格或其他分隔符。 hex文件在许多领域中广泛应用,特别是在计算机软件和硬件开发中。它可以存储程序代码、存储设备的固件、以及各种其他类型的数据保存数据为hex文件具有一些优点。首先,hex文件是可读的文本文件,方便人们查看和编辑。其次,hex文件可以很好地保留原始数据的精确性,因为它们没有进行任何压缩或编码处理。此外,hex文件可以跨平台使用,因为几乎所有的计算机系统都可以读取和处理文本文件。 要创建hex文件,我们可以使用各种编程语言或计算机工具。一个常见的方法是使用十六进制编辑器,这些编辑器允许我们在一个界面中查看和编辑hex数据,并将其保存为hex文件。 总之,hex文件是一种将数据以16进制编码的文本文件。它在计算机开发和其他领域中被广泛使用,能够保留数据的精确性并方便人们查看和编辑。创建hex文件可以使用各种编程语言或工具。 ### 回答3: 十六进制数据保存为hex文件,是通过将十六进制的数据转换成二进制形式,然后按字节(8位)进行存储的文件格式。 在一个hex文件中,每一行通常包含16个字节的数据,前面还有一个偏移地址,用来表示每一行数据在存储中的位置。一般情况下,每个字节之间会通过空格或者其他分隔符分隔开来。 hex文件保存形式有不同的版本,比如Intel Hex格式和Motorola S-Record格式。这些格式在具体的实现上存在一些差异,但都遵循了将十六进制数据转换为二进制并按字节进行存储的基本原理。 hex文件在实际应用中有广泛的用途,特别是在嵌入式系统开发中。开发人员可以将程序或者固件的机器代码以十六进制的形式保存在hex文件中,然后通过一些特定的软件工具,将hex文件烧录到目标设备中。这种方式可以有效地避免因数据传输错误或者格式不匹配等问题而导致的程序烧录错误。 总而言之,hex文件是一种以十六进制数据形式保存并按字节存储的文件格式,它在嵌入式系统开发和数据传输过程中发挥着重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值