| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1079 人关注过本帖
标题:问一道C++文件的题
取消只看楼主 加入收藏
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
 问题点数:0 回复次数:5 
问一道C++文件的题
原题是
将文件中各行的第21个字符复制到新文件,如果该行没有21个字符,则复制该行的最后一个字符。
while(in.get(achar))
{
int c++;
if(achar=='\n')
{c=0;}
if(c==21)
{
out.put(achar);
}
}
前两个功能我做出来了,可是当该行不足21个字符时复制最后一个字符的功能不知道如何实现,请高手指点
搜索更多相关主题的帖子: 文件 字符 achar get 
2006-06-25 18:15
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

谢谢,我明白你的意图,就是当读到回车的时候进行判断C<=21,然后写入
不过这样会有个BUG ,如果该文件有3行
如 123
456
789
由于第三行并没有回车输入,你只能将3 6 写入文件,也就是说该程序写不了没有回车的一行.
你有什么改进的方法吗?谢谢

2006-06-26 10:51
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

貌似这么写不行吧
D:\C++平台控制台程序\ewr.cpp(23) : error C2146: syntax error : missing ',' before identifier 'finish'

D:\C++平台控制台程序\ewr.cpp(25) : error C2146: syntax error : missing ';' before identifier 'found'
D:\C++平台控制台程序\ewr.cpp(25) : error C2065: 'found' : undeclared identifier
有3个错误,程序也没有什么没有定义,可能FOR语句有问题

2006-06-26 11:26
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

改了,可是还是算不了没有回车的那一行,以下是原代码,你试一下.
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

void main()
{
ifstream in;
in.open("c:\\text.txt");
if(!in)
{
cerr<<"\aCan't open the File"<<endl;
exit(100);
}
ofstream out;
out.open("c:\\text1.txt");
if(!out)
{
cerr<<"\aCan't whrte the File"<<endl;
exit(102);
}

bool finish=false;
for(int c=1;!finish;c++)
{
char achar,temp;
static bool found=false;
if(!in.get(achar))finish=true;
if(achar=='\n'||achar==EOF){c=1;found=true;}
if(achar!='\n'&&c<=21&&achar!=EOF)temp=achar;
else
{
if(found){out.put(temp);found=false;}
}
}

}

2006-06-26 12:53
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

谢谢了,最近在整文件的问题,今天又遇到一个问题
我写了个文件读取函数,使其读取以下文件
//学号 语文 数学 英语 物理 化学
1234 76 89 97 87 98
2345 77 87 90 76 97
2345 89 65 65 75 86

我用传统的方法
ifstream In;
In>>StuID>>yuwen>>shuxue>>yingyu>>wuli>>huaxue;
以上都是整形变量。
成功读取了文件的内容,但是题目要求每一们的平均分,我立即想到了用数组做,但是当我全定义为数组后,
却发现取不出文件的内容。
两位大哥帮我分析分析该如何写这个函数,谢谢

2006-06-27 21:53
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
收藏
得分:0 

谢谢wimphy,原来用的是结构体,哈哈,学C++真锻炼思维能力,有问题我还会来问的.

2006-06-29 08:43
快速回复:问一道C++文件的题
数据加载中...
 
   



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

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