程序应该能够从这样一个文本文件中生成一个数字数组
数据如下
123 2132 1100909 3213 89890号
我的密码是
char a;
char d[100];
char array[100];
a=fgetc(fp) // where fp is a file pointer
if (a=='')
{
d[count1]='/0';
strcpy(&array[count],d);
count=count+1;
memset(d,'\0',100)
count1=0;
}
else
{
d[count1]=a;
count1=count1+1;
}
a=fgetc(fp);
我现在有分段错误了。希望将每个数字存储在数组中,以便对其进行排序
最佳答案
你的第一个问题是:
d[count1]='/0';
strcpy(&array[count],d);
你写的不是你想的那样。假设您的意思是
'/0'
(一个空的'\0'
文本),那么您似乎试图在调用char
之前手动终止字符串d
。问题是,实际写入strcpy()
的不是空字节,因此d
不是以空结尾,然后d
关闭并开始读取之后的随机内存,然后将该内存复制到strcpy()
中,直到读或写结束在允许访问的内存之外,并且出现分段错误。你也有一些困惑。它被声明为一个100
array
s的数组,但您将其视为一个字符串数组。也许你是想把它声明为array
?