从char数组转换为字符串变量

时间:2018-11-07 21:55:29

标签: c++ arrays string char

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
    fstream infile;
    infile.open("letter.txt");

    string s;
    char charArray[11];

    char x;
    while (!infile.eof())
    {
        infile.get(x);
        x = tolower(x);


        for (int i = 0; x != ' '; i++)
        {
            charArray[i] = x;
        }
        string mystring(charArray);
        cout << mystring;

    }


    system("pause");
}

在我的C ++程序中,我一次要从文件中读取一个字符,并在循环到达空格时停止(这表示单个单词的结尾)。然后,我想将char数组的内容分配给一个字符串变量。

我知道我一次可以从文件中读取一个单词,但是对于我的作业,这不是一个合适的解决方案。

我的困难是从char数组转换为字符串变量。

1 个答案:

答案 0 :(得分:1)

std::string实际上是has a constructor,它采用了C样式的字符串!只要确保您的char数组为null terminated,就可以执行以下操作:

char myArr[]; //Make sure it's null terminated!
std::string myString(myArr);