如何用C++读取一个txt文件并计算文件中所有数字之和

1,2.34,5,67,8,9就是这样一个文件 怎么能只把数字相加求和
2024-11-16 10:42:04
推荐回答(5个)
回答(1):

#include
#include
#include
using namespace std;
void ReadFromFile(const char* pszFileName, double * pdNum, int &size)
{
 size = 0;
 ifstream fin(pszFileName);
 if( fin== NULL)
  cout<<"错误——不能打开文件"<
 char szNum[10];
 int nPos = 0;
 char c;
 while( (c = fin.get()) !=EOF)
 {
  if(c != '\n' && c != ',' && c != ' ')
  {
   szNum[nPos++] = c;
  }
  else
  {
   pdNum[size++] = stod(szNum);
   memset(szNum, 0 , sizeof(szNum));
   nPos = 0;
  }
 }
}
void main()
{
 char *pszFileName = "d:\\test.txt";
 double Num[100];
 int size;
 ReadFromFile(pszFileName, Num, size);
 double dSum = 0;
 for(int i = 0; i < size; i++)
 { 
  cout<  dSum += Num[i];
 }
 cout<<"和是:"< return;
}

回答(2):

char ch[...];
readfile(hfile,ch,...);
for(...count...)
{
//从第一个字符到最后一个字符
判断是不是数字的编码,如果是,就加到一个变量里
}

回答(3):

从文件中按行读出数据,然后用分隔符将每一行的数字取出,相加

回答(4):

这样的结果可以吗,满意请采纳

回答(5):

直接建立的txt文件,可以用ifstream fin("a.txt");读取txt文件a
定义一个变量
数字之间是空格的话直接用循环fin>>读入并相加
是逗号的话记得要用get函数