我正在编写一些代码,这些代码将使用C语言并将它们放在.dat文件中。
我在NetBeans中写作IDE。 Netbeans说代码很适合构建,但是当它运行时它失败了,甚至没有告诉我原因。
我正在使用的IDE可能有问题吗?
以下是代码部分(是的,我在源文件中包含了stdio.h和stdlib.h)。
//this is supposed to make a pair of example matrices.
double A[10][10];
double B[10][10];
int i , j;
for (i=0; i < 10 ; i++)
{
for(i=0; i < 10 ; i++)
{
A[i][j]= 1.0 ;
B[i][j]= 1.0 ;
}
}
//this is supposed to make the .dat file
FILE *fp2;
fp2 = fopen("MatricesFile.dat","w");
if(fp2 == NULL)
{
printf("Error in opening file");
return 1;
}
else
{
for(int i = 0 ; i < 10 ; i++)
{
for(int j = 0 ; j < 10 ; j++)
{
fwrite(&A[i][j], sizeof(A[i][j]), 1, fp2);
fwrite(&B[i][j], sizeof(B[i][j]), 1, fp2);
}
}
}
fclose(fp2);
感谢您的帮助。
答案 0 :(得分:2)
代码中有两个明显的问题。
嵌套循环时,使用不同的变量控制内循环和外循环。至少有一个循环使用i
来控制内循环和外循环。
使用fwrite()
和fread()
时,请以二进制模式打开文件(例如,要打开以进行写入,请使用模式"wb"
)。否则,在阅读时不一定能正确恢复写出的数据。
并且在遇到问题时不要责备你的IDE或编译器。 IDE和编译器确实存在错误,但是您遇到的绝大多数问题都是由于编码中的缺陷造成的。就像这里的情况一样。