| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1288 人关注过本帖
标题:[求助]在C++中可以从文本文件中读其他类型数据吗
只看楼主 加入收藏
haifengni
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-9
收藏
 问题点数:0 回复次数:2 
[求助]在C++中可以从文本文件中读其他类型数据吗
  文本文件存放的是字符型数据,但请问可不可以通过类型转换将其转换成整型或浮点型输出?如果能的话应该怎么做?最好可以举下例子(编个程序段),谢谢各位了

[此贴子已经被作者于2007-8-9 19:46:27编辑过]


搜索更多相关主题的帖子: 文本文件 类型 数据 
2007-08-09 19:45
热情依然
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

如果你是用C++ BUILDER的话

如果你是用C++ BUILDER的话

std::ifstream readline("xxx.txt")
std::string textline;
while(getline(readline,textline,'\n')){
AnsiString convert = textline.c_str();
double _float = covert.ToDouble();
int _float = covert.ToInt();
}


c++/C + 汇编 = 天下无敌
2007-08-11 06:51
热情依然
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

以下这个是我自己编写的

//---------------------------------------------------------------------------
//字符串转浮点
double Atof(const char* buffer)
{
if( Isdigit(buffer) == false ) return 0;
std::string strMoney(buffer);
double fsum = 0.0;
if( buffer[0] == '-')
{
for(std::size_t index = 1; index < strMoney.length(); ++index)
{
if( strMoney[index] != '.'){
fsum = fsum * 10 + (strMoney[index]-48);
}
}
fsum *= -1;
}
else{
for(std::size_t index = 0; index < strMoney.length(); ++index)
{
if( strMoney[index] != '.'){
fsum = fsum * 10 + (strMoney[index]-48);
}
}
}
int nPos = 0;
if( (nPos = strMoney.find_first_of('.')) != std::string::npos)
{
int nCount = strMoney.length()- nPos;
for( int index = 0; index < nCount-1; ++index)
{
fsum *= 0.1;
}
}
return fsum;
}
//-------------------------------------------------------------------------------
// 判断是否数字
bool Isdigit(const char* str)
{
std::string strNum(str);

if( strNum == "" || strNum == " " || strNum[0]== '.'){
return false;
}

int count = 0;
string::iterator it = strNum.begin();
for(; it!= strNum.end(); ++it)
{
if( (*it <'0'&& *it != '.' && *it != '-') || *it > '9'){
return false;
}
else if( *it == '0' && it == strNum.begin() )
{
if(*(++it) != '.'){
return false;
}
--it;
}
else if( *it == '.' )
{
count++;
}
else if( *it == '-' && it != strNum.begin() )
{
return false;
}
}
if( count > 1){
return false;
}
return true;
}


c++/C + 汇编 = 天下无敌
2007-08-11 06:54
快速回复:[求助]在C++中可以从文本文件中读其他类型数据吗
数据加载中...
 
   



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

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