[英]How to convert char to integer from .txt file in C++
我有一個.txt 文件,其中包含:
XXXX:YYYY:ABCCCCE.
我需要編寫一個 function 來讀取 .txt 文件ABCCCCE
的這一部分並找到這些字符的值的總和。
認為:
A = 1, B = 2, C = 3, D = 4, E = 5
到目前為止,這是我用來區分每個字符的值的方法:
int getComplexity(char theCode)
{
int complexity;
if(theCode == 'A')
{
complexity = 1;
} else if(theCode == 'B')
{
complexity = 2;
} else if(theCode == 'C')
{
complexity = 3;
} else if(theCode == 'D')
{
complexity = 4;
} else if(theCode == 'E')
{
complexity = 5;
}
return complexity;
}
我只是不確定如何從 .txt 文件中讀取並轉換值。 我是 c++ 的新手,非常感謝任何幫助!
我不知道這是不是你想要的但是:
#include <fstream>
#include <numeric>
#include <vector>
using namespace std;
int Return_Complexity(char character)
{
switch (character)
{
case 'a':
return 1;
break;
case 'b':
return 2;
break;
case 'c':
return 3;
break;
case 'd':
return 4;
break;
case 'e':
return 5;
break;
default:
return 0; //Zero indicates that we didn't find what we're looking for
}
}
int main()
{
ifstream file{ "some-file.txt" };
vector<int> values;
char character;
while (file >> character)
{
int result = Return_Complexity(tolower(character));
if (result > 0) //if its a-e
values.push_back(result);
}
int Result = accumulate(values.begin(), values.end(), 1); //add them together
cout << Result;
}
這會推回找到的所有字符,然后將它們相加。
如果這不是你想要的,我會解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.