我有一个看起来像这样的存档文件:
!<arch>
file1.txt/ 1350248044 45503 13036 100660 28 `
hello
this is sample file 1
现在在这里,标题中的数字 28 是file1.txt
大小。要获得该号码,我使用:
int curr_char;
char file_size[10];
int int_file_size;
curr_char = fgetc(arch_file);
while(curr_char != ' '){
strcat(file_size, &curr_char);
curr_char = fgetc(arch_file);
}
// Convert the characters to the corresponding integer value using atoi()
int_file_size = atoi(file_size);
但是,file_size
每次运行代码时,数组中的值都会发生变化。有时它是正确的,但大多不是。以下是我得到的一些示例file_size
:
?28`U
2U8U
28 <--- 正确!
派?28
我相信问题出在我的 strcat() 函数上,但不确定。任何帮助,将不胜感激。