Chinaunix

标题: 小问题 [打印本页]

作者: 火星人1    时间: 2008-08-26 22:46
标题: 小问题
#include"stdlib.h"
#include"stdio.h"
void main(){
        int no,age;
        char sex;
        char name[10];
        FILE * file1;
        if((file1=fopen("f:\\try.txt","r"))==NULL){
                printf("can not open file1");
            exit(0);
        }
        for(int i=1;i<=2;i++){
        fscanf(file1,"%4d%4d%c%8s",&no,&age,&sex,&name);
        }
}
文件为何打不开啊?问了几个人都不知为什么。
作者: xiexiecn    时间: 2008-08-26 22:51
标题: 回复 #1 火星人1 的帖子
貌似没错,自己随便再试试,比如打开别的文件,或者看看这个文件是不是存在,或者"r"换成"w"之类。再要么把errno打印出来看看。
作者: 火星人1    时间: 2008-08-26 23:03
标题: 回复 #2 xiexiecn 的帖子
谢谢!我再试试!
作者: dnglee    时间: 2008-08-27 00:25
#include"stdlib.h"
#include"stdio.h"
void main(){
        int no,age;
        char sex;
        char name[10];
        FILE * file1;
        if((file1=fopen("f:\\try.txt","r"))==NULL){
                printf("can not open file1");
            exit(0);
        }
        for(int i=1;i<=2;i++){
        fscanf(file1,"%4d%4d%c%8s",&no,&age,&sex,name);
        }
}


是这样?
作者: drunkedcat    时间: 2008-08-27 09:02
“文件打不开”的表现是什么?打印“can not open file1” 了吗?如果打印了,说明是没打开.
如果没有打印上面的信息,只是没有读到数据,说明文件打开了。
请给出运行程序后的结果。
作者: 山外山    时间: 2008-08-27 14:32
打出errno
作者: jiangf    时间: 2008-08-27 14:45
文件读写权限问题?
作者: 火星人1    时间: 2008-08-27 21:15
标题: 回复 #5 drunkedcat 的帖子
打印“can not open file1” 了,再另一台电脑上它就打开了
不知为什么 太诡异了
作者: 火星人1    时间: 2008-08-27 21:18
标题: 回复 #4 dnglee 的帖子
不是那里,前面try.txt就打不开
作者: baidu85    时间: 2008-08-27 21:54
f:\\try.txt
在Linux下应该是f://try.txt吧
作者: Visame    时间: 2008-08-28 02:03
原帖由 baidu85 于 2008-8-27 21:54 发表
f:\\try.txt
在Linux下应该是f://try.txt吧

有道理
Linux下应该是f:/try.txt
不是f://try.txt
作者: drunkedcat    时间: 2008-09-03 19:11
linux 下分区都是 mount 上去的,怎么会有 "f:/" 这样的路径呢?
比如你 mount 到 /mnt/f, 那就应该是 "/mnt/f/try.txt"
作者: qliu00    时间: 2008-09-03 21:38
标题: 回复 #8 火星人1 的帖子
应该是文件没有定位,

你重新设置一下文件的路径

再连接编译下

[ 本帖最后由 qliu00 于 2008-9-4 23:05 编辑 ]
作者: liu2g    时间: 2008-09-03 22:16
你是在LINUX环境下吗?
作者: ilex    时间: 2008-09-03 23:03
原帖由 火星人1 于 2008-8-26 22:46 发表
##include"stdlib.h"
#include"stdio.h"
void main(){
        int no,age;
        char sex;
        char name[10];
        FILE * file1;
        if((file1=fopen("f:\\try.txt","r"))==NULL){
                printf("can not open file1");
            exit(0);
        }
        for(int i=1;i<=2;i++){
        fscanf(file1,"%4d%4d%c%8s",&no,&age,&sex,&name);
        }
}
文件为何打不开啊?问了几个人都不知为什么。          



这段代码由比较多的问题哦,比如变量没初始化,

为啥 文件打不开,俺也没看出来。
作者: flw    时间: 2008-09-04 14:34
原帖由 qliu00 于 2008-9-3 21:38 发表
应该是文件没有定位,你重新设置一下

啥叫文件没有“定位”呀?
又需要重新设置什么?
设置 PSP 还是数码相机?





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2