| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:[求助]我真的被搞的不行了.
只看楼主 加入收藏
cutboy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-16
收藏
 问题点数:0 回复次数:2 
[求助]我真的被搞的不行了.
建立两个磁盘文件,在分别从键盘输入字符,再将两个文件合并后放入数组,最后输出到屏幕,程序如下:
#include<stdio.h>
main()
{
FILE *fp,*dp;
char c,d,str[100];
if((fp=fopen("f:\\z","w"))==NULL)
{
printf("can not open this file\n");
exit(0);
}
c=getchar();
while((c=getchar())!='*') 向文件输入字符
{
fputc(c,fp);
c=getchar();
}
printf("ok\n");
fclose(fp);
if((dp=fopen("f:\\y","w"))==NULL)
{
printf("cannot open this file\n");
exit(0);
}
d=getchar();
while((d=getchar())!='#')
{
fputc(d,dp);
d=getchar();
}
printf("ok\n");
fclose(fp);
fp=fopen("f:\\z","a") ;
dp=fopen("f:\\y","r");
while(!feof(dp))
{
fputc(fgetc(dp),fp);
}
fgets(str,35,fp); /*从fp指向的文件读入35个字符到str数组,读多少有问题吗?如果我的文件里只有14个字符呢?*/
fclose(fp);fclose(dp);
printf("%s\n",str);
system("pause");
}
怎么又不能通过呢?我用的是TC.救命啊,大虾们!!我不行了.搞了一个晚上了
搜索更多相关主题的帖子: include cannot file 键盘 
2007-10-09 16:11
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 

看了这段代码,里面细节错误很多。。。

第一
c=getchar();
while((c=getchar())!='*') 向文件输入字符
{
fputc(c,fp);
c=getchar();
}
中,重复输入。。。类似还有一处。。。
第二:这里
while(!feof(dp))
{
fputc(fgetc(dp),fp);
}
文件尾的处理有问题。。。
第三:追加后,文件指针处理文件尾,你说此时读入数组的是什么呢???

这三处改完,就能达到你的目的了。!


偶学编程,也许本身就是一个错。。。
2007-10-09 17:06
windlzf
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-8-7
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
FILE *fp, *dp;
char c, d, str[100] = {0};
int a;
unsigned long len;

if ((fp = fopen("f:\\z", "w")) == NULL)
{
printf("can not open this file\n");
exit(0);
}

while ((c = getchar()) != '*')
{
fputc(c, fp);
}

printf("ok\n");
fclose(fp);

fflush(stdin);

if ((dp = fopen("f:\\y", "w")) == NULL)
{
printf("cannot open this file\n");
exit(0);
}

while ((d = getchar()) != '#')
{
fputc(d, dp);
}

printf("ok\n");
fclose(dp);

fp = fopen("f:\\z", "ab+") ;
dp = fopen("f:\\y", "r");

while ((a=fgetc(dp))!=EOF)
{
fputc(a, fp);
}

fseek(fp, 0, SEEK_SET);
fgets(str, 30, fp);
fclose(fp);
fclose(dp);

printf("%s\n", str);
system("pause");
}

2007-10-09 17:18
快速回复:[求助]我真的被搞的不行了.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015595 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved