首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“不存在从'std::string‘到'const char *’的适当转换函数”

“不存在从'std::string‘到'const char *’的适当转换函数”
EN

Stack Overflow用户
提问于 2019-12-25 01:20:00
回答 3查看 11.3K关注 0票数 0

我试图编写一个简单的循环,它接受一个字符串并遍历所述字符串的每个字符,并将其存储在另一个字符串中(每次都是相同的字符串)。我想使用这个循环来执行简单的任务,例如反向显示一个单词,或者在一个单独的行中显示每个字符(下面提供的示例就是从这里来的)。我的代码是这样的:

代码语言:javascript
运行
复制
#include <string>
using namespace std;

int main(){
   c++
   string word;
   string ch;
   cout << "Please enter a word." << endl;
   cin >> word;

   int wordlength;
   int i;

   wordlength = size(word);

   for (i = 0; i < wordlength; i++) {
       word.copy(ch, 1, i);
       cout << ch << endl;
   }
}

但是,每当我使用这段代码时,我都会得到标题中的错误:

“从'std::string‘到'const *’不存在适当的转换函数”

我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-25 02:44:38

只需使用字符串

代码语言:javascript
运行
复制
#include <string>
using namespace std;
string word;
char *c;
  cout << "Please enter a word." << endl;
  cin >> word;

  int wordlength,  i;

    wordlength = word.size();

    for (i = 0; i < wordlength; ++i) {

     ch = word[i];

     cout << ch << endl;

   }

无论哪种方式都可以工作,word[i] = ch;

票数 4
EN

Stack Overflow用户

发布于 2019-12-25 01:45:50

字符串大小:

代码语言:javascript
运行
复制
wordlength = word.size();

字符串::复制应该是:

代码语言:javascript
运行
复制
char ch;
....
word.copy(&ch, 1, i);
票数 1
EN

Stack Overflow用户

发布于 2019-12-25 01:40:49

来自c++引用

size_t拷贝(char* s,size_t len,size_t pos = 0) const;

本质上,复制需要一个char指针/数组作为它的第一个arg,但是您放置了一个字符串,所以它抛出了一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59474515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档