gpt4 book ai didi

c - 如何连接数字字符串然后将其分配给 'long' 类型变量?

转载 作者:行者123 更新时间:2023-11-30 19:25:26 25 4
gpt4 key购买 nike

我正在尝试生成一个“代码”,它代表一系列数字引用信息,最终将其打印在控制台屏幕上。让我做一个更好的解释:

我的应用程序需要存储一些涉及“学院学生”的信息。它需要读取(从键盘):

类(class)(1 或 2),级别(1 至 3),文件编号(最多 8 个数字)、名和姓,年平均钙化。

我需要生成一个代码编号,表示类(class)、级别和文件编号。例如,类(class) 1、级别 2 的学生,文件号为 045,将注册为“12045”。然后我必须将其存储在 int long 变量中。

注册完所有信息后,需要以特定方式对其进行排序,然后再将其打印到屏幕上。一切正常,但代码生成正确。

当我打印生成的代码时,我的问题出现了。我开始将类(class)、级别和文件编号的输入数字视为字符串,以利用“strcpy”和“strcat”函数来生成代码,然后将其解析为(长)。然后,我在每个学生身上打印了一个完全不同的生成代码。有什么想法为什么会发生这种情况吗?

我正在使用按索引相关的单独 vector 和矩阵。我希望这是一个清晰且有用的问题。如果没有,请随时向我提出更好的问题,甚至删除它。这是我的第一个问题。谢谢!

从键盘读取信息

printf("\nIngresar Curso (1 a 2): ");
fflush(stdin);
gets(curso);
while(strcmp(curso, "1")!=0 && strcmp(curso, "2")!=0) {
printf("\aError. Ingresar Curso (1 a 2): ");
fflush(stdin);
gets(curso);
}
strcpy(codalumno, curso);
printf("\nIngresar Nivel (1 a 3): ");
fflush(stdin);
gets(nivel);
while(strcmp(nivel, "1")!=0 && strcmp(nivel, "2")!=0 && strcmp(nivel, "3")!=0) {
printf("\aError. Ingresar Nivel (1 a 3): ");
fflush(stdin);
gets(nivel);
}
strcat(codalumno, nivel);
printf("\nIngresar N de Legajo: ");
fflush(stdin);
gets(legajo);
strcat(codalumno, legajo);

这是对 long 的解析和赋值(我不确定是否正常工作)

auxl=(int)codalumno;
alumno[i]=auxl;

最佳答案

使用 atol() 函数。

auxl = atol(codalumno);

关于c - 如何连接数字字符串然后将其分配给 'long' 类型变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58784476/

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