【问题标题】:Convert from char array to string variable [duplicate]从char数组转换为字符串变量[重复]
【发布时间】:2019-04-11 09:54:22
【问题描述】:
#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 数组转换为字符串变量。

【问题讨论】:

  • std::string(arr)

标签: c++ arrays string char


【解决方案1】:

std::string 实际上是has a constructor,它采用 C 风格的字符串!只要你确定你的char数组是null terminated,你就可以这样做:

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

【讨论】:

  • 我添加了我的代码。但是,代码编译后出现异常错误。
  • @Artin 我说了两次并给了你一个链接,但我会再说一遍:你的 char 数组必须以 NULL 结尾。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 2012-10-03
  • 2021-05-03
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多