我正在尝试生成一个“代码”,它代表一系列数字引用信息,最终将其打印在控制台屏幕上。让我做一个更好的解释:
我的应用程序需要存储一些涉及“学院学生”的信息。它需要读取(从键盘):
类(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/