gpt4 book ai didi

c - 需要一个 union 来从 20 个字符生成 5 个整数

转载 作者:行者123 更新时间:2023-11-30 18:29:07 24 4
gpt4 key购买 nike

这是我在这里发表的第一篇文章,因此如果我搞砸了任何事情,我会提前道歉。

我正在用 C 语言为我的类(class)编写一个程序,作业要求我们从文件中读取一个 20 个字符长的字符串,然后使用 union 来获取该字符串并从中生成 5 个整数。

我所有的 int 值都一样,我不知道还能做什么。我能找到的所有示例都只关心接收一个字符串,然后将其转换为一个 int 或一个 int 和一个 float。

我的 union 成立如下

union hashes
{
char str[20];
int one;
int two;
int three;
int four;
int five;
};

int main (void)
{
union hashes hashes1;
}

展示更多节目内容的新尝试

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

union hashes
{
char str[20];
int one;
int two;
int three;
int four;
int five;
};

int main (int argc, char *argv[])
{
//declare union
union hashes hashes1;
//declare struct from link.h
struct node* current;
struct node* new_node;
//file pointer to open file
FILE *fpointer;
fpointer = fopen(argv[1], "r");
//activate first node
current = (struct node*) malloc(sizeof(struct node));

//read from file
while (fread(current, 20, 1, fpointer))
{
//copy the string to the union
strncpy(hashes1.str, current->name, 20);
//add the variables
printf("string: %s\nInts: %d %d %d %d %d\n", hashes1.str, hashes1.one, hashes1.two, hashes1.three, hashes1.four, hashes1.five);

new_node = (struct node*) malloc(sizeof(struct node));
current = new_node;
}
}

最佳答案

如果您的平台上的 sizeof(int) 为 4,请使用:

union hashes
{
char str[20];
int numbers[5];
};

您还可以使用固定宽度的整数。

union hashes
{
char str[20];
int32_t numbers[5];
};

关于c - 需要一个 union 来从 20 个字符生成 5 个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com