簡體   English   中英

字符指針作為參數傳遞給字符串

[英]Character pointer passed as parameter converting to string

嗨,我是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);
}

任何幫助深表感謝。

通過

str.assign(InString);

您可以將一個char分配給std::string

您可以僅將字符指針分配給字符串。 只要字符指針指向的數據終止為空,該副本將按預期工作。

std::string str = InString;

只是std::string str = InString; 應該管用。

std::string為此有一個構造函數:

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

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

給我:

你好,世界!

你好,世界!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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