相关疑难解决方法(0)

C++多行字符串文字

有什么方法可以在C++中使用多行纯文本,常量文字,还有Perl?也许有一些#include文件的解析技巧?我想不出一个,但男孩,那会很好.我知道它将在C++ 0x中.

c++ string-literals

383
推荐指数
9
解决办法
29万
查看次数

多个printf()调用vs一个带长字符串的printf()调用?

假设我有一printf()行长字符串:

printf( "line 1\n"
"line 2\n"
"line 3\n"
"line 4\n"
"line 5\n"
"line 6\n"
"line 7\n"      
"line 8\n"
"line 9\n.. etc");  
Run Code Online (Sandbox Code Playgroud)

printf()每条线路的多个线路相比,这种风格产生的成本是多少?
如果字符串太长,是否会出现堆栈溢出?

c string printf

19
推荐指数
4
解决办法
3028
查看次数

在多行上定义一个字符串

请采取以下措施:

char buffer[512];

memset(buffer, 0, sizeof(buffer));
sprintf(&buffer[0],"This Is The Longest String In the World that in text goes on and..");

printf("Buffer:%s\r\n",buffer);
Run Code Online (Sandbox Code Playgroud)

我希望能够在多行上创建此字符串,以便于故障排除和编辑.但是,当我使用\命令时,我的输出被看似是标签的东西分开了?

例:

sprintf(&buffer[0],"This Is The\
    Longest String In the World\
    that in text goes on and..");
Run Code Online (Sandbox Code Playgroud)

产生一个输出:

Buffer:This Is The        Longest String In the World       that in text goes on and..
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这只是一种尝试在多行代码中分解字符串的错误方法吗?

c syntax

13
推荐指数
2
解决办法
2万
查看次数

在多行中声明NSString

有没有办法NSString在多行中声明一个?我想编写HTML代码并将其存储到a中NSString,并且在多行中de代码将更具可读性.我想做这样的事情:

NSString *html = @"\<html\>"
 + @"\<head\>"
 + @"\<title\>The Title of the web\</title\>"
 + @"\</head\>"
 + @"\<body\>"
[...]
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring

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

如何在GCC C++中编写多行内联汇编代码?

这看起来不太友好:

__asm("command 1"
      "command 2"
      "command 3");
Run Code Online (Sandbox Code Playgroud)

我是否真的必须在每一行都加上双引号?

另外......因为多行字符串文字在GCC中不起作用,所以我也不能作弊.

assembly gcc inline-assembly

8
推荐指数
2
解决办法
4185
查看次数

一个指针的两行字符串

可能重复:
如何在C/Objective-C中跨多行拆分字符串文字?

有时我必须编写几个由char变量指向的SQL语句,如:

const char* sql="CREATE TABLE GenInf ( EmpName TEXT NOT NULL, Pyrll TEXT PRIMARY KEY,  DtBrth TEXT,  PlBrth TEXT, CID TEXT,  ContNo  TEXT,   JnDt TEXT,   Postn TEXT, Dept TEXT, AnnLv TEXT, EmrgLv TEXT, Irr TEXT, HmTwn TEXT, F1 TEXT, F2 TEXT ); CREATE TABLE Training( Pyrll TEXT NOT NULL, Crs TEXT, Dt TEXT, Plc TEXT, Cst TEXT);"; 
Run Code Online (Sandbox Code Playgroud)

但它很长,我怎么能把它作为两条线?

c c++ sql sqlite

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

您可以在多行字符串文字中使用C/C++预处理程序标记

扩展这个问题这个问题,是否可以使用显示的预处理器方法或包含预处理器符号值的C++多行字符串文字来获得多行字符串文字.例如:

#define SOME_CONSTANT 64

#define QUOTE(...) #__VA_ARGS__
const char * aString = QUOTE(
{
    "key":"fred",
    "value":"SOME_CONSTANT"
}
);
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望将"SOME_CONSTANT"替换为"64".

我尝试过使用我有限的技能组合中的所有技巧,包括字符串化并没有运气.

有任何想法吗?

c c++ c-preprocessor

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

是否需要在C中给出printf()?

我正在阅读Brian Kernighan和Dennis Ritchie撰写的"The C Programming Language"一书(第2版,由PHI出版).在第一篇1.1入门第一章A教程简介,第7页,他们说必须\n在printf()参数中使用,否则C编译会产生错误信息.但是当我\n在printf()中编译程序时,它没问题.我没有看到任何错误消息.我正在使用Dev-C便携式"MinGW GCC 4.6.2 32位"编译器.

为什么我没有收到错误消息?

c

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

如何在C中的字符串文字中存储私钥?

如何在C中的字符串文字中存储私钥?

例如

-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBANuwDJCXuv/FszouyCcDNIn6++/8EtdVpzvLKpqLdK/fq6Y3bIjD
6fPVCNwANeJsSHKexi4qPkBpZ8/C0Ssnp48CAwEAAQJAHtDmIk42W/R2fJ3dU6Oe
dhBv0K0SU4RfTgLkugL/3j+GIQCiFXBkfO/eG6J8vQlOQaGbK7Zu6bSnCoCdiDmR
sQIhAPysf1AIbRoQGO6HYtAoTUOMlih7dyh4O3jKCqQUa60XAiEA3pRju0/0g2JK
bdSct/kqii1o+RydH79WCnKVgVvulEkCIFdbRADliOLT4erFv/H7nQrXliqU1ROW
zejq4VbtAHUtAiBRP5OkRYx5BUEsFGdc1MyNggQGo0ZL13ld+PPQM7HEWQIhAIU1
InlMgmqV1GzEXsAwRH5RH2zEqAe9mKkU7SZWT0rI
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
  1. 我可以删除每行中的换行符吗?
  2. 在C中定义多行字符串文字的最佳方法是什么?

c string openssl

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

如何最好地在C中格式化很长的字符串常量?

我有这个:

char * str = "hahahahahihihihihohohohohahahahahihihihihohohohohahahahahihihihihohohohohahahahahihihihihohohohohahahahahihihihihohohohohahahahahihihihihohohoho\0";
Run Code Online (Sandbox Code Playgroud)

我该如何正确设置其格式,以80列中断?使用方法:

char * str = "foo\
    bar";
Run Code Online (Sandbox Code Playgroud)

似乎是一个非常糟糕的主意,它导致未定义的行为,使strlen()返回的废话值

编辑:这是我正在谈论的未定义的行为:

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

int main(void)
{
    char *s = "haha\
               hihi\0";

    unsigned i = strlen(s);

    printf("Length: %i\n", i);

    return 0;
}

imperator@RomaAeterna ~/P/C/undefined> gcc -Wall -Wextra undefined.c 
imperator@RomaAeterna ~/P/C/undefined> ./a.out
Length: 14
Run Code Online (Sandbox Code Playgroud)

c string formatting strlen

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

我如何结束c ++这一行

我有一个很长的路线:

const string a_string = "a long string with \" .. with \" again ... ... ";
Run Code Online (Sandbox Code Playgroud)

现在这个字符串很长,我如何以优雅的方式包装线?我试过断线,但它不起作用.我实际上不确定这是IDE问题还是编译器问题...请帮忙!

c++

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