簡體   English   中英

如何將C++中的.txt文件中的char轉成integer

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM