相关疑难解决方法(0)

在句子中反转单词顺序

我在创建一个颠倒句子顺序的函数时遇到了困难.我已经阅读了许多关于如何递归反转周围字母的函数,我已经成功地完成了这些,但我不想反转字母中的字母.我想颠倒句子中单词的位置.

示例是:

这是一句话.

句子.这是

到目前为止这是我的代码.如何从整个句子的字母顺序转换到句子中单词的放置顺序?

当前代码的输出将提供:!dlroW olleH

void reverse(const std::string str)
{
    int length = str.size();
    if(length > 0)
    {
        reverse(str.substr(0,length-1));
        std::cout << str[0];

    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:其他问题.如果这是一个char数组,逻辑会不同吗?

c++ recursion

0
推荐指数
1
解决办法
1300
查看次数

在 C++ 中拆分字符串的最佳实践

我正在学习 C++ 以进行竞争性编程。我最近遇到一个问题,需要将字符串拆分为向量(我来自Python和JavaScript背景,所以有一个简单的内置函数负责拆分字符串)

C++中有类似的东西吗?一种节省时间的简单方法。我很感激你的意见

谢谢你!

c++ arrays string

0
推荐指数
1
解决办法
3577
查看次数

如何将此文件读入变量?

这是我需要阅读的文件.

Coca-Cola,0.75,20
Root Beer,0.75,20
Sprite,0.75,20
Spring Water,0.80,20
Apple Juice,0.95,20
Run Code Online (Sandbox Code Playgroud)

我需要将每个变成一个变量.例如drinkName,drinkCost,drinkQuantity.我正在使用c ++,请帮助我.

c++

-1
推荐指数
1
解决办法
7651
查看次数

读取文件并在C++中将每一行拆分为多个变量

我有一个这种类型的文件:

key1#value1#value2##
key2#value3#value4#value5##
key3#value6##
etc.
Run Code Online (Sandbox Code Playgroud)

我需要读取每一行,并分别键和值.我尝试了不同的方法(istringstream & iterator- 但我不知道如何明确定义#作为分隔符),双getline,我读了关于boost库但我不确定我能编译它.

我认为另一种方法是将每一行分成一个向量.第一个元素将始终是键,向量的大小将决定每行的值.

拆分每条线的最佳方法是什么?

c++

-1
推荐指数
1
解决办法
1006
查看次数

c ++控制台程序中strcpy函数的异常

strcpy()中的异常;

void recid(string str,int *begin, int *end)
{
  char *f,*str2;

  const char c1[2]=":",c2[2]="-";
  strcpy(str2,str.c_str());
  f=strtok(str2,c1);
  f=strtok(NULL,c2);
  *begin=atoi(f);
  f=strtok(NULL,c2);
  *end=atoi(f);
}
Run Code Online (Sandbox Code Playgroud)

你能帮我解决一下吗?

c++ exception strcpy

-3
推荐指数
1
解决办法
374
查看次数

什么是基于特定分隔符拆分字符串的最有效的C++方法,类似于python中的split方法?

getline(cin,s);
istringstream iss(s);
do
{
    string sub;
    iss>>sub;
    q.insert(sub);
 }while(iss);
Run Code Online (Sandbox Code Playgroud)

当问题想让我在空间的基础上分裂时,我使用了这种技术,所以任何人都可以解释如何在有一个特定的分隔符时分裂,如';' 要么 ':'.

有人告诉我关于strtok功能,但我无法得到它的用法所以如果有人可以提供帮助会很好.

c++ string split

-6
推荐指数
1
解决办法
4532
查看次数

标签 统计

c++ ×6

string ×2

arrays ×1

exception ×1

recursion ×1

split ×1

strcpy ×1