求助啊,显示段错误
我在unix下编写了以下一段程序
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c;
FILE *in, *out;
in = fopen("file.in", "r");
out = fopen("file.out"."w");
while((c = fgetc(in)) != EOF)
fputc (c,out);
exit (0);
}
gcc编译后 显示说是段错误,我查了后说是指针有问题,求各位大牛指点哪里有问题啊。。。。
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。
[解决办法]
没打开很可能是文件没找到。
fopen第一个参数是要指定文件路径,如果只提供文件名,那默认是当前路径,所谓当前路径是指你程序所在的目录
[解决办法]
您好:unix我没用过,但是我把你的代码在我的电脑上试了一下,我是没有发现什么问题,虽然没有判断文件打开是否成功,但这是编码规范问题,我用的是VC6,我刚开始时在我的工作目录下创建了file.in,但是还是显示打开错误,所以我就把他加到了FileView下的Resource File里面了,然后就成功了,当然了我说的是在VC6下,unix是不一样的