C中的长整数
|
大家好,这里是初学者的问题
如何在C中读取12或13位数字(如书的ISBN号)的长整数?
我想从带有书籍信息(ISBN /名称/作者)的文本文件中读取编号。
文本文件的内容如下:
0393312836
发条橙
安东尼·伯吉斯
0199536759
中间行军
布雷特·伊斯顿·埃利斯
...
...
...
我正在使用以下代码:
int main(void){
FILE *f;
char name[MAX], writer[MAX], line[MAX];
long isbn;
f=fopen(\"path.txt\",\"r\");
if(f == NULL){
return 0;
}
while (fgets(line, 1024, f) != NULL){
sscanf(line,\"%ld\", &isbn);
printf(\"ISBN: %ld\\n\",isbn);
fgets(nome, 1024, f);
printf(\"NAME: %s\",name);
fgets(line, 1024, f);
printf(\"WRITER: %s\",writer);
}
fclose(f);
return 0;
}
他能够阅读书籍和作家的名字,但是只有在数字不超过9位的情况下,他才阅读数字。我必须做什么才能使这项工作?
提前致谢。
没有找到相关结果
已邀请:
4 个回复
冉案
凸晴
数组)并加以处理即可。使用
,您还会在开始时失去重要的零以及有限的范围。 ISBN数字,电话号码等最好视为字符串,因为它们不代表实数(从数学意义上来说),而仅仅是标识符。
惜堡沁戚
和
说明符。在大多数平台上,前者应为64位数字。 您也可以尝试将其读取为字符串。这取决于您是将其作为字符串还是将其作为数字来处理。 例如,如果要按字母顺序对它们进行排序,请以字符串形式读取它们。如果要将它们按数字排序,请将它们视为数字。
茬贺努充尽