| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1549 人关注过本帖
标题:如何从文档中读出小段程序
只看楼主 加入收藏
janetding
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-11
结帖率:100%
收藏
 问题点数:0 回复次数:12 
如何从文档中读出小段程序

用 VC++写段读字符程序,就是从一个存在的文档中读出其内容,
比如:文档a.txt
内容 void main()
{
printf("i'm a student.");
return;

}

写个程序 这段文字读出来..........

怎么写哇?初学C++ ,不会写,高手帮忙.

搜索更多相关主题的帖子: 文档中 
2006-12-20 13:12
ZW_HAPPY
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-20
收藏
得分:0 

FILE *fp=fopen("a.txt","r");
CString cs;
fscanf(fp,"%s",cs);
fclose(fp);
我也新手,请批评指正!:)

2006-12-20 13:22
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
ifstream fin("a.txt");
string str;
getline(fin,str,'\0');
cout<<str;
return 0;
}


天行健,君子以自强不息!!QQ:68660681
2006-12-21 16:41
janetding
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-11
收藏
得分:0 
可以 读多行字符吗?

2006-12-26 09:09
janetding
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-11
收藏
得分:0 


这是我写的一段词法分析的程序,不知道那个读文件的那段程序加在哪。。
知道的可以帮我看一下吗。。谢谢了
我是编程初学者,有好多不明白的地方,还请大家多指点了

#include <stdio.h>
#define M 13
#define N 10
#define end -1
char a[N],c[100];
char WORD[M][N]={"and","if","else","int","while","struct","define","include","void","main","printf"};
int i;
void main()
{
void id();
void num();
char ch,a[10],c[100];
ch=getchar();
do
{
if (ch==' ')
ch=getchar();
else if(ch=='\n')
ch=getchar();
else if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
id(ch);
else if(ch>='0'&&ch<='9') //纠正错误 把原来的 a 该成 ch
num(ch);

}while(ch!=end)
}
void id(char b)
{
int k=0;
do{
if(k<10)
{
k=k+1;
a[k]=b;
}
else
{
printf("标识符太长!");
}
b=getchar();
}while((b>='a'&&b<='z')||(b>='A'&&b<='Z'));
for(i=0;i<N;i++)
{
if(WORD[i]==a)
break;
}
if(i<N)
{
for(k=1;k<=10;k++)
{
printf("%C",a[k]);
}
printf("--------关键字\n");
}
else
{
for(k=1;k<=10;k++)
{
printf("%C",a[k]);
}
printf("-------用户自定义标识符\n");
}
}
void num(char b)
{
if(b>='0'&&b<='9')
{
int i=0;
do{
if(i<100)
{
c[i]=b;
i=i+1;
b=getchar();
}
else
printf("--数字太长!\n");
}while(b>='0'&&b<='9');
}
}


[此贴子已经被作者于2006-12-26 18:12:58编辑过]


2006-12-26 10:25
停止流浪
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-12-16
收藏
得分:0 


如果是把界面上的数据(如文本框、下拉框)按固定格式保存成TXT文件,以后再导入来,又应该怎么处理呢
如写成以下文档:
1000="00"
1001="0775"
谢谢
2006-12-26 10:34
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

回5楼,我看了你的程序,小错误不少,比如if(a>='0'&&a<='9') a is a char-array,
又比如你a与c你都在mian()内外分别都有定义,重复定义了
还有就是你的id和num函数在声明的时候是void id()和void num()应该是void id(char),void num(char)吧
还有你id函数中a用来保存临时的单词,如果是这样的一个字符串: abcd ef
显然第一次进入id函数时a[]=abcd,第二次进入a的0,1位置的字符将改变,即a[] = efcd,这是你想要得到的结果吗 ?

不知道你懂不懂C++,我用c++临时给你写了个,时间仓促可能有错,你自己看看吧。。

//////////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

#define M 11
#define N 10

int main()
{
char FileName[12];
string WordInFile;

char WORD[M][N]={"and","if","else","int","while","struct",
"define","include","void","main","printf"};

cout<<"input your file name please: ";
cin>>FileName;
ifstream fin(FileName);

while ( fin>>WordInFile )
{
cout<<WordInFile<<" -------- ";
if ( WordInFile.length() > N ) cout<<"The word is too long!"<<endl;
else
{
for ( int i = 0 ; i < M ; ++i )
if ( WORD[i] == WordInFile )
{
cout<<"key word!"<<endl;
break;
}
if ( i >= M ) cout<<"user-defined!"<<endl;
}
}

fin.close();
return 0;
}


天行健,君子以自强不息!!QQ:68660681
2006-12-26 13:33
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

回6楼:其基本原理是一样的,但是在MFC中不光可以用fscanf(fprintf)和fstream外,
还可以用CFile类,并且可以用CArchive实行序列化


天行健,君子以自强不息!!QQ:68660681
2006-12-26 13:37
janetding
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-11
收藏
得分:0 

回7楼的~`

好象有个很严重的错误哦~~运行以后 在DOS界面下出现
input your file name please: dd //dd是文件名
输入文件名后出现 :please click any key to contniue
再键入回车 就直接退出 并不往下执行


2006-12-26 18:05
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

那时因为你dd文件中根本就没有内容或者这个文件不存在


还有 你输入文件名的时候应该完整,加上后缀如:dd.txt

[此贴子已经被作者于2006-12-26 19:34:21编辑过]


天行健,君子以自强不息!!QQ:68660681
2006-12-26 19:33
快速回复:如何从文档中读出小段程序
数据加载中...
 
   



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

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