字符指针作为参数转换为字符串传递

时间:2013-07-05 14:26:24

标签: c++ regex visual-c++

您好我是C ++的新手,我需要一些输入来解决以下问题:

在我的头文件(MyClass.h)中,函数定义为:

bool Function(char *InString,char *outStr);

这已在“MyClass.cpp”中实现,如下所示:

bool MyClass::Function(char *InString,char *OutString=0) {
  std::string str = ***** I require the InString to be converted to String and assigned to str.
}

在我的主要功能控制台中,我使用了以下功能:

#include "MyClass.h"
int _tmain(int argc, _TCHAR* argv[]) {
  char inp[50];
  char output[50];
  memset(output,0,sizeof(output));//Intialized
  std::cin>>inp;
  MyClass x;
  bool m = x.Function(inp,output);
}

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

通过

str.assign(InString);

您可以将char分配给std::string

答案 1 :(得分:1)

您只需将字符指针指定给字符串即可。只要字符指针指向的数据为空终止,副本就会按预期工作。

std::string str = InString;

答案 2 :(得分:0)

只需std::string str = InString;即可。

答案 3 :(得分:0)

std::string有一个构造函数:

const char *s = "\nHello, World!";
std::string str(s);
cout<<str;

char *s2 = "\nHello, World!";
std::string str2(s2);
cout<<str2;

给了我:

  

你好,世界!

     

你好,世界!