首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写C程序,该程序在所提供的范围内创建一个包含无符号的两字节大数整数的文件。

如何编写C程序,该程序在所提供的范围内创建一个包含无符号的两字节大数整数的文件。
EN

Stack Overflow用户
提问于 2022-07-24 10:12:57
回答 1查看 147关注 0票数 -1

这个程序被称为create_borts_file (bort是大端短的收缩)并接受:一个文件名,一个整数范围的开始,以及一个整数范围的结束;

这是我到目前为止创建一个整数文件的代码。我该怎么修改这个才能得到我想要的。

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

    FILE *output_stream = fopen(argv[1], "w");
    if (output_stream == NULL) {
        perror(argv[1]);
        return 1;
    }

    for (int i = atoi(argv[2]); i <= atoi(argv[3]); i++) {
        fprintf(output_stream, "%d\n", i);
    }

    fclose(output_stream);

    return 0;
}

因此,如果我要打印给定这些参数的文件的字节,它将提供以下输出:

代码语言:javascript
复制
./create_borts_file fortytwo.bort 40 42

./print_bytes fortytwo.bort 
byte    0:   0 0x00
byte    1:  40 0x28 '('
byte    2:   0 0x00
byte    3:  41 0x29 ')'
byte    4:   0 0x00
byte    5:  42 0x2a '*'
EN

回答 1

Stack Overflow用户

发布于 2022-07-24 10:48:45

代码语言:javascript
复制
unsigned short be = htons( (unsigned short)(i & 0xffff) );

size_t err=fwrite(&be,sizeof(be),1,output_stream);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73097465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档