当前位置: 代码迷 >> C语言 >> 程序运行不了,总是出错,求解
  详细解决方案

程序运行不了,总是出错,求解

热度:325   发布时间:2006-12-25 19:01:26.0
程序运行不了,总是出错,求解

题目: 对文件中的每个数据加1
文件中的数据如:
1,2,3,4,5,6,7,8,9

修改以后的数据:
2,3,4,5,6,7,8,9,10
#include<stdio.h>
#include<stdlib.h>
void print(FILE *p)
{
printf("output:\n");
int num;
while(num != EOF){
num = getw(p);
printf("%d ",num);
}
}

int main()
{
void print(FILE *p);
FILE *f_pointer;
if((f_pointer = fopen("textfile","wt")) == NULL){
printf("cannot open the file!\n");
exit(0);
}
printf("please enter 10 numbers:\n");
for(int i = 0 ; i < 10 ; i ++){
int n;
scanf("%d",n);
putw(n,f_pointer);
}
printf("these numbers are successfully save in textfile!\n");
print(f_pointer);

rewind(f_pointer);
int a[10];
fread(a,sizeof(a),1,f_pointer);
for(i = 0 ; i < 10 ; i++){
a[i]+=1;
}
rewind(f_pointer);
fwrite(a,sizeof(a),1,f_pointer);
print(f_pointer);
}
运行总是出错,那位大侠帮看看啊 !急急急!

搜索更多相关的解决方案: num  求解  pointer  

----------------解决方案--------------------------------------------------------
scanf("%d",n);在这里发现了一个小问题!

----------------解决方案--------------------------------------------------------

稍微改了一下!
#include<stdio.h>
#include<stdlib.h>
void print(FILE *p)
{
printf("output:\n");
int num;
while(num != EOF){
num = getw(p);
printf("%d ",num);
}
}

int main()
{
void print(FILE *p);
FILE *f_pointer;
if((f_pointer = fopen("textfile","wt")) == NULL){
printf("cannot open the file!\n");
exit(0);
}
printf("please enter 10 numbers:\n");
int i;
for(i = 0 ; i < 10 ; i ++){
int n;
scanf("%d",&n);
putw(n,f_pointer);
}
printf("these numbers are successfully save in textfile!\n");
print(f_pointer);

rewind(f_pointer);
int a[10];
fread(a,sizeof(a),1,f_pointer);
for(i = 0 ; i < 10 ; i++){
a[i]+=1;
}
rewind(f_pointer);
fwrite(a,sizeof(a),1,f_pointer);
print(f_pointer);

return 0;
}

虽然是没有警告,没有错误,但是我根本就没有创建那个文件!但是运行的时候,居然没有出现错误提示,这是不理解啊!


----------------解决方案--------------------------------------------------------
还有一个问题,就是文件没有关闭啊!
----------------解决方案--------------------------------------------------------
  相关解决方案