相关疑难解决方法(0)

C++打印出限制字数

我是C++的初学者,我想知道如何做到这一点.我想写一个接受文本行的代码.例如"Hello stackoverflow是一个非常好的网站"

从输出我只想打印前三个单词,跳过其余的.

我想要的输出:"Hello stackoverflow是"

如果是Java,我会使用字符串split().至于C++,我真的不知道.他们的任何类似或C++的方法是什么?

c++

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

C++如何在字符串中复制文本(从8个字母到12个字母)

这不是功课,我需要这个为我的程序:)

我问这个问题,因为我在谷歌搜索了大约1个小时,我找不到任何准备好运行的东西.我知道这是一个微不足道的问题,但如果你能帮助我,你将会成为我的一天:)

题:

如何复制字符串中的文本(例如从8个字母到12个字母)并发送到其他字符串?

我有字符串:

string s = "RunnersAreTheBestLovers";
Run Code Online (Sandbox Code Playgroud)

我希望下一个字符串中的8个字母到17个字母的文本

Alice90

c++ string copy

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

基于C++文本文件的数据库读取

我需要C++中的简单程序,它将打开文本文件并逐行查找第二个参数.

文本内容:

1, red
2, blue
3, green
4, orange
Run Code Online (Sandbox Code Playgroud)

所以我需要一个逐行的程序,每行转换成数组(两个元素),然后比较第一个元素和用户交互插入的数字.

因此,如果用户插入2,它逐行,比较阵列行的第一个元素,如果匹配,它打印数组中的第二个元素(蓝色),如果用户键入3,它打印绿色...

我一直在用PHP工作,而且比这更容易,所以我现在有点困惑了......:/

c++ arrays text-files

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

C++禁止从const char*设置char*和char []

这是代码.我不知道它为什么不承认它需要复制内存,我不能强迫它.

 string message="The quick brown fox jumped over the lazy dog.";

  vector<char*> words;

  while(message.length()>0){
    char wtf[message.substr(0,message.find(" ")).c_str().length()]=message.substr(0,message.find(" ")).c_str();
    words.push_back(wtf);
    message=message.substr(message.find(" ")+1);
  }
Run Code Online (Sandbox Code Playgroud)

我看到有类似的线程,但没有.而且,C++似乎无法轻易解决这个问题.

c++ const char

1
推荐指数
2
解决办法
672
查看次数

如何将字符串转换为char*数组

我已经更改了我的代码,现在编译时出现这些错误:

`check.cpp: In function ‘int main()’:`
Run Code Online (Sandbox Code Playgroud)

check.cpp:14:55: error: invalid conversion from ‘const char**’ to ‘char* const*’ [-fpermissive]

/usr/include/getopt.h:152:12: error: initializing argument 2 of ‘int getopt(int, char* const*, const char*)’ [-fpermissive]

int main() {

string text="-f  input.gmn -output.jpg";
int argc=text.length();
cout<<"argc: "<<argc<<endl;
char const * argv = text.c_str();
cout<<"argv: "<<argv<<endl;
int c = getopt (argc, &argv, "f:s:o:pw:h:z:t:d:a:b:?");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays string char

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

C++从空格分隔的文本文件中填充字符串向量

我有一个空格分隔的文本文件,我需要从中提取单个单词以填充a vector<string>.

我试过玩strtok,但我知道这不起作用,因为strtok返回a char pointer.有没有办法从文件中提取单词,并string vector用它们填充?谢谢!

c++

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

想要使用特定字符将字符串分隔为标记

这里我有一个字符串表示字符数组.此数组也包含分隔符.现在我想只取出没有这个分隔符的字符串.

我正在使用strtok功能.

我想用这个分隔符分隔我的所有单词.

但是这里我在这段代码中遇到了一些问题.

请让我知道,如果我做错了或告诉我以不同的方式实现这个简单易行的方法,也要考虑内存风险.

这条线pch = strtok (str,&sep);没什么.问题只在这里.

/* strtok example */
#include <stdio.h>
#include <string.h>

#define SEPRATOR 0x03

int main ()
{
    char str[1024];
    int count = 0;
    char sep;
    memset(str,0,1024);
    sep = SEPRATOR;

    memcpy(str,"1",strlen("1"));
    count = count + strlen("1");
    str[count++] = sep;
    memcpy(str+count,"0",strlen("0"));
    count = count + strlen("0");
    str[count++] = sep;
    memcpy(str+count,"2",strlen("2"));
    count = count + strlen("2");
    str[count++] = sep;
    memcpy(str+count,"abc_1.0.xyz",strlen("abc_1.0.xyz"));
    count = count + strlen("abc_1.0.xyz");
    str[count++] = sep;
    memcpy(str+count,"3",strlen("3"));
    count = …
Run Code Online (Sandbox Code Playgroud)

c strtok

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

C++ std :: string :: assign很奇怪

需要经验丰富的工程师帮助.我写了一个函数,它获取一个字符串并从中获取一个子字符串.子串用逗号','分隔.我使用assign()函数来复制子串.我的代码:

void my_function(string devices)
{
    unsigned int last=0;
    unsigned int address;
    printf("whole string: %s\n",devices.c_str());

    for (unsigned int z=0; z<devices.size();z++)
    {
        if(devices[z]==',')     
        {
            zone_name.assign(devices,last,z);
            printf("device:%s\n",zone_name.c_str());
            address=get_kd_address_by_name(zone_name);
            last=z+1;
            if(address>0)
            {   
                //doing stuff
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题:只有第一次迭代才有效.在终端我得到:

whole string: device1,device2,device3,000001029ADA
device:device1
device:device2,device3
device:device3,000001029ADA
Run Code Online (Sandbox Code Playgroud)

为什么assign()接受','之后的字符?

c++ string

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

将std :: string拆分为std :: pair的最短代码

我有一个文本,格式为"key:value".实际文本可能看起来像是,"Server: nginx""Server:nginx"忽略键:和值之间的空格.

什么可能是最快和最短的方式将其分成一个std::pair<std::string, std::string>

c++ std

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

在 C++ 中分割字符串(使用 strtok?),用逗号分隔符分隔并且不使用外部库?

我对编码真的很陌生,并且在尝试在 C++ 中拆分字符串时遇到了一些麻烦。我想知道如何拆分字符串,该字符串const char names[] (i.e. "Mary, Jan, Jane")在 C++ 中作为 a 输入,而不使用任何外部库(即我不想使用#include <string>等 - 尽管我可以使用#include <cstring>)。

我尝试过使用:

const char names[] = "Mary, Jan, Jane";

char *token = strtok(names, ",");
while (token != NULL) {
    token = strtok(NULL, " ");
}
Run Code Online (Sandbox Code Playgroud)

但我似乎无法传递一个 const 字符数组,我还想知道如何访问所有单独的“令牌”?

另外,我尝试将输入更改为 just char names[](但我确实需要输入为常量),并且出现分段错误,我不明白为什么。

c++ arrays string char

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

标签 统计

c++ ×9

string ×4

arrays ×3

char ×3

c ×1

const ×1

copy ×1

std ×1

strtok ×1

text-files ×1