c语言第一次弄fwrite,但是运行后我打开文件看里面是空的。为什么
你的代码内存错误了.
for(i=0;i100;i++)
{scanf(“%d%c”,s[i].a,s[i].c); //我是想可以输入100次数据到结构体数组里
fwrite (s, sizeof(s), 100, pFile );
}
这么写正常的话是应该输入 100 次的.之所以一次就退出是因为
fwrite (s, sizeof(s), 100, pFile ); s 应该是 s[i]. s本身已经是指针了.
错误导致 再按任意键结束了。 没有 fclose 所以文件里什么都没有.
求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。
这具体要看你的num和stu[]数组的情况了。还有,这程序写的是二进制文件,而且文件没有扩展名。这都是在查看文件时要注意到的。经验证,这个程序是可以写入文件的。
c语言程序显示没有问题但运行结果是空白的?
您好,很高兴回答您的问题。
在c语言中,程序的错误分成两种,一种是语法错误,程序在进行运行过程中会检测出来,并且给出错误的大致位置和原因,另一种错误是逻辑错误,说通俗点就是程序没有语法错误,但是程序内部出现了不符合题目本意的错误,导致不能得出正确结果,这种误是没有提示的,要编写者自己去发现。估计您的程序出现了第二种错误,所以需要您仔细分析哦。
c语言怎么将数据写入文件?
利用VC软件通过代码书写就可以将数据写入文件。
首先打开VC++6.0。
选择文件,新建。
选择C++ source file 新建一个空白文档。
先声明头文件#include stdio.h。
写上主函数
void main
主要代码
FILE *infile,*outfile,*otherfile;
char input;
char inputs[10];
int i=0;
infile = fopen(“d:\\infile.txt”,”r+”);//用fopen函数打开文件
outfile = fopen(“d:\\outfile.txt”,”a+”);//用fopen函数打开文件
if ( !infile )
printf(“open infile failed….\n”);
if ( !outfile)
printf(“open outfile failed…\n”);
printf(“*********************************************\n”);
printf(“** This program is to show file operation! **\n”);
printf(“** The input file is: **\n”);
printf(“** d:\\infile.txt **\n”);
printf(“** The contents in this file is: **\n”);
printf(“\n”);
for(;;)
{
input = fgetc(infile);//死循环读出文件内容
printf(“%c”,input);
putc(input,outfile);//写入内容
i++;
if(input == ‘\n’ || input == EOF)
break;
}
fclose(infile);
fclose(outfile);
scanf(“%d”,i)
运行结果
C语言吧A文件内容的一部分给B文件,然后重新打开A文件,把B文件的内容传过去,A文件居然是空白的?
如果打开文件时,不是’a’那么会清空原来的文件。
然后这个程序有两个问题
1. 在fp2输出到文件中之后,这时文件指针已经在文件的末尾。直接又用getc,此时最后一个循环就没有执行。
2. 为了在A文件之后append,最后一个修改为fp = open(“jiami.txt”, “a”); 这样应该就可以了