求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。相关的知识,希望对你有一定的参考价值。

void writeinfo()

FILE *fp;
int i;
if ((fp=fopen("D://Database","wb"))==NULL)

printf("不能打开文件!\n");
return;

if (fwrite(&num,sizeof(int),1,fp)!=1)

printf("写入文件错误!\n");

for (i=0;i<num;i++)

if (fwrite(&stu[i],sizeof(struct student),1,fp)!=1)

printf("写入文件错误!\n");


fclose(fp);

这具体要看你的num和stu[]数组的情况了。还有,这程序写的是二进制文件,而且文件没有扩展名。这都是在查看文件时要注意到的。经验证,这个程序是可以写入文件的。 参考技术A 就这么几行代码,看不出什么错误啊。你不是有printf吗,有没有报你打印的错误? 如果没有报错,运行后用hex的编辑器把database打开,看看是不是里面写的是不是不可见的字符?如果有,那就检查你结构数组中的内容是否正确。 参考技术B 检查一下文件名 参考技术C rb是只读方式打开。追问

struct student

char name[20];
char num[20];
char sco[20];
stu[100];
还是没用,是我的结构体有问题吗?

参考技术D 雯怎么得 在哪得

java获取文件时候报FileNotFoundException异常,求大神帮忙看看

我的文件位置是在src下:
但是报如下错误:
java.io.FileNotFoundException: C:\Users\Administrator\Workspaces\MyEclipse%2010\Tenlent\bin\person.xml (系统找不到指定的路径。)
//加载本地xml文件资源
String xml=Test.class.getClassLoader().getResource("person.xml").getFile();

肯定还是路径的问题,C:\Users\Administrator\Workspaces\MyEclipse%2010\Tenlent\bin\person.xml 看下是否有特殊字符什么的,空格什么的 参考技术A 检查这个路径对不对C:\Users\Administrator\Workspaces\MyEclipse%2010\Tenlent\bin\person.xml追问

路径是对的

追答

String xml=Test.class.getClassLoader().getResource("person.xml").getFile();
检查这行代码getFile拿到的应该是一个File对象吧 ?

参考技术B

你的文件目录有空格。这个路径名中C:\\Users\\Administrator\\Workspaces\\MyEclipse%2010\\Tenlent\\bin\\person.xml 

ClassLoader的getResource方法获取的是URL对象,再用URL的getFile方法获取路径时就会出现这种情况。其中"%20"表示空格,路径不对导致FileNotFoundException。你可以看一下,路径中实际是一个叫"MyEclipse 10"的文件夹,但系统去找"MyEclipse%2010"这个文件夹了,这会导致获取不到文件。

解决方法:用getFile方法获取路径名后,把"%20"全部替换为" "即可。

代码:

URL rs = Test.class.getClassLoader().getResource("person.xml");
String xml = rs.getFile();
xml = xml.replaceAll("%20", " ");

以上是关于求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。的主要内容,如果未能解决你的问题,请参考以下文章

求大神帮忙看看啥问题

fortran程序总是出现四个错误,求大神帮忙看看哪里出错啦,拜托拜托

java获取文件时候报FileNotFoundException异常,求大神帮忙看看

C语言程序编程题,求大神帮帮忙

Qt中的一个问题 求大神帮忙

nodejs npm install 安装屡次报错,求大神帮忙看看啥问题