标签: string-literals

这个boost c ++正则表达式代码有什么问题?

包括

#include <fstream>
#include <string>
#include<string>
#include<boost/algorithm/string.hpp>
#include<boost/regex.hpp>
#include <boost/algorithm/string/trim.hpp>
using namespace std;
using namespace boost;


int main() {
    string robotsfile="User-Agent: *"
            "Disallow: /";

    regex exrp( "^Disallow:(.*)$");

            match_results<string::const_iterator> what;

            if( regex_search( robotsfile, what, exrp ) )

            {

                string s( what[1].first, what[1].second );


                cout<< s;
            }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我需要/Disallow: /我的正则表达式错误中得到不允许的路径?

c++ regex string-concatenation string-literals boost-regex

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

字符串文字仍以双斜线结尾?

我有一小段代码:

public static void Write(string filename){
    string time = DateTime.Now.ToString("hh:mm tt");
    int date = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
    string path = @"C:\Users\Public\" + filename;
}
Run Code Online (Sandbox Code Playgroud)

如果我调试并在路径设置后停止它看起来像 “C:\\\Users\\\Public\\\filename.txt”.

谁能告诉我为什么它有双斜线?'@'在这种情况下,标志是否真的搞乱了?

我怎么可能得到它 “C:\Users\Public\filename.txt”

c# string string-literals

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

JavaScript中的属性名称

我有一个问题已经真的窃听我相当一段时间,我似乎无法找到涵盖主题的任何资源.JavaScript中的属性名称如何是字符串文字或数字文字?

var obj = {
    "bar": "foobar",
    "foo": function() { return bar; }
}
Run Code Online (Sandbox Code Playgroud)

自从我几年前了解这个话题以来,这个话题一直困扰着我.我不知道从哪里获得更深入的信息或甚至是什么.我并没有对如何设置这一点感到困惑,因为我知道新对象正在使用成员创建,bar&foo然后将其分配给obj变量.

你不能创建像var"bar"="foobar"这样的变量; 因为你会得到语法错误.它如何对对象文字有效?任何有关这方面的帮助将非常感谢.

javascript object literals string-literals

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

为什么值字符串文字会发生变化

main()
{
  char *c="abhishek";
  int i;
  c[2]=90;
  for(i=0;i<12;i++)
  {
    printf("%c",c[0])
  }
}
Run Code Online (Sandbox Code Playgroud)

这里的输出是abZishek.但这会导致总线错误,因为这是一个字符串文字,我们无法更改其值.为什么c变化的价值?

c c++ string-literals undefined-behavior

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

如何在没有任何临时char数组作为变量的情况下将字符数组传递给C++中的函数?

我有以下代码

void func(char c[])  {
    c[1]= '@';
    std::cout<<c<<"\n"
             <<sizeof(c)<<"\n";
}

// Main 1
int main()  {
    char temp[6] = "pinta";
    func(temp);
}
Run Code Online (Sandbox Code Playgroud)

如果我将主要功能更改为以下内容

//Main 2
int main()
{
    func("pinta");
}

meow@vikkyhacks ~/Arena/c/LinkedList $ g++-4.8 scrap/test.cpp 
scrap/test.cpp: In function ‘int main()’:
scrap/test.cpp:12:14: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  func("pinta");
              ^
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌搜索,我了解到第二个main没有传递任何字符数组,而是通过一个read only string literal当击中c[1] = '@'抛出一个seg错误.

我的问题是

  1. " 我如何避免使用在temp其中使用的变量Main 1并直接将字符数组传递给func它的参数? "

  2. 而重要的条件是允许编辑传入的字符数组func.

编辑

我看到有许多答案阻止我这样做 …

c++ arrays string-literals

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

C编程中对字符串的困惑

所以我正在学习使用编译器Dev C++编程c.问题1:

#include <stdio.h> 
#include <conio.h> //for the getch() function
#include <string.h> 

int main(void) 
{ 
    char line[3]; 
    strcpy(line, "Hello world"); 
    printf("%s", line); 
    getch(); 
} 
Run Code Online (Sandbox Code Playgroud)

输出:Hello world

为什么当我声明我的字符串只能容纳3个字符时,它会显示所有"Hello world"?

问题2:

char line[3] = "Hello world"; 
printf("%s", line); 
Run Code Online (Sandbox Code Playgroud)

输出:Hel

为什么显示"Hel"?它不应该只显示"He",因为行[0] = H,行[1] = e和行[2] ='\ 0'?%s通过搜索'\ 0'来工作?

请帮我理解真正发生的事情.谢谢!

c printf c-strings string-literals array-initialization

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

如何在Python中从多个文字创建单个原始字符串?

我希望将相邻的字符串组合成Python中的单个"原始"字符串,例如

>>> s = (
...     r"foo\tbar\n"
...     "baz\tqux\n")
Run Code Online (Sandbox Code Playgroud)

然而,这只会使第一部分'原始':

>>> print(s)
foo\tbar\nbaz   qux

>>>
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式传播'r'到所有相邻的文字?

python string string-literals

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

为什么指针在这段代码中起作用而不是正常变量?

在我的下面的代码中,我得到了以下警告:

在函数'on_btn_Convert_clicked'中:|

警告:赋值在没有强制转换的情况下从指针生成整数[默认情况下启用] |

警告:传递'gtk_label_set_text'的参数2使得整数指针没有强制转换[默认情况下启用]

|| ===构建完成:0个错误,2个警告(0分钟,1秒(秒))=== |

如果我按原样运行程序,它将打开GUI但有问题的按钮会在按下时导致分段错误并使程序崩溃.

#include <stdlib.h>
#include <stdio.h>
//include gtk headers
#include <gtk/gtk.h>

//define pointer variable names
GtkWidget  *plblFileName;
GtkWidget  *pbtnConvert;
GtkWidget  *pbtnFileChooser;


//prototype functions
char on_btn_Convert_clicked();

char on_btn_Convert_clicked()
{
   //define variables
   char hello;

   hello = "hello!";

   gtk_label_set_text(GTK_LABEL(plblFileName), hello);
   return 0;
}

//start main loop
int main( int    argc,
      char **argv )
{
    GtkBuilder *builder;
    GtkWidget  *window;
    GError     *error = NULL;

    //Init GTK+
    gtk_init( &argc, &argv );

    //Create new GtkBuilder object
    builder = gtk_builder_new();
    //Load …
Run Code Online (Sandbox Code Playgroud)

c string variables pointers string-literals

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

strcat(dest,"\ something") - 反斜杠没有显示

我遇到了C编程字符串连接的问题.

为什么strcat(dest, "\something")不将反斜杠复制到dest

您可能希望关注该示例.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char *dest = "";
    char *test = "how \something";
    dest = (char *)malloc((strlen(test) + 1) * sizeof(char));

    strcat(dest, test);
    // Expect to see "how \something", but showed "how something"
    printf("%s\n", dest);

    free(dest);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c backslash string-literals

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

C中的char * vs const char *

char* str ="Hello";
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,文字“ Hello”存储在DATA段中,并且是只读的。所以总是声明它不是更好:

const char* str = "Hello";
Run Code Online (Sandbox Code Playgroud)

避免使用不正确的代码,例如:

*(str+1) = 't';
Run Code Online (Sandbox Code Playgroud)

c pointers const-correctness c-strings string-literals

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