
C/C++ 中这样的char * 初始化如何理解
如下的字符串初始化代码:constchar*demoStart="<?xmlversion=\"1.0\"standalone='no'>\n""<!--Ourtodol...
如下的字符串初始化代码:
const char* demoStart =
"<?xml version=\"1.0\" standalone='no' >\n"
"<!-- Our to do list data -->"
"<ToDo>\n"
"<!-- Do I need a secure PDA? -->\n"
"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
"<Item priority=\"2\" distance='none'> Do bills </Item>"
"<Item priority=\"2\" distance='far & back'> Look for Evil Dinosaurs! </Item>"
"</ToDo>";
可以这样分多行初始化吗?
像JAVA和C#的话会在每行加上“+”,在C/C++中不用加吗?
请高手帮忙解释!谢谢!
还有就是程序中,除了函数定义的花括号有什么用?
不知道哪些资料会介绍这些细节问题?望不吝赐教,谢谢! 展开
const char* demoStart =
"<?xml version=\"1.0\" standalone='no' >\n"
"<!-- Our to do list data -->"
"<ToDo>\n"
"<!-- Do I need a secure PDA? -->\n"
"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
"<Item priority=\"2\" distance='none'> Do bills </Item>"
"<Item priority=\"2\" distance='far & back'> Look for Evil Dinosaurs! </Item>"
"</ToDo>";
可以这样分多行初始化吗?
像JAVA和C#的话会在每行加上“+”,在C/C++中不用加吗?
请高手帮忙解释!谢谢!
还有就是程序中,除了函数定义的花括号有什么用?
不知道哪些资料会介绍这些细节问题?望不吝赐教,谢谢! 展开
5个回答
展开全部
以前看过这方面的,我搜了好久,终于搜到那本书了,叫《C语言程序设计:现代方法》,但是现在china-pub没试读章节下载了,我又搜了半天,终于在csdn找到了免费试读:
http://book.csdn.net/bookfiles/532/10053217964.shtml
页面里,搜“13.1.2 延续字符串字面量”,你就能解惑了。
这个是C标准,C++当然会兼容,至于C#试了,不行。 Java本人无任何明显的或潜在的兴趣,就不讨论了。
补充部分:
除了函数定义和类定义外,花括号是用来表示复合语句的, 花括号里外是不同的作用域, 实际项目中我们常用来避免switch语句里的warning.
资料就是我给你链接的那个 免费试读的书,现在有第2版的(http://www.china-pub.com/196384)了,不过79.00,挺贵,你自己看着办吧。
这种知识也可以通过项目经验积累。
http://book.csdn.net/bookfiles/532/10053217964.shtml
页面里,搜“13.1.2 延续字符串字面量”,你就能解惑了。
这个是C标准,C++当然会兼容,至于C#试了,不行。 Java本人无任何明显的或潜在的兴趣,就不讨论了。
补充部分:
除了函数定义和类定义外,花括号是用来表示复合语句的, 花括号里外是不同的作用域, 实际项目中我们常用来避免switch语句里的warning.
资料就是我给你链接的那个 免费试读的书,现在有第2版的(http://www.china-pub.com/196384)了,不过79.00,挺贵,你自己看着办吧。
这种知识也可以通过项目经验积累。
参考资料: csdn, china-pub, my brain
展开全部
可以这样来书写,在VS2005中调试通过。
在C++中连接字符串不能用“+”,得用strcat函数,在JAVA、C#中可以。
#include<stdafx.h>
#include<iostream>
#include <vector>
using namespace std;
void main()
{
const char* demoStart =
"<?xml version=\"1.0\" standalone='no' >\n"
"<!-- Our to do list data -->"
"<ToDo>\n"
"<!-- Do I need a secure PDA? -->\n"
"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
"<Item priority=\"2\" distance='none'> Do bills </Item>"
"<Item priority=\"2\" distance='far & back'> Look for Evil Dinosaurs! </Item>"
"</ToDo>";
cout<<demoStart<<endl;
}
在C++中连接字符串不能用“+”,得用strcat函数,在JAVA、C#中可以。
#include<stdafx.h>
#include<iostream>
#include <vector>
using namespace std;
void main()
{
const char* demoStart =
"<?xml version=\"1.0\" standalone='no' >\n"
"<!-- Our to do list data -->"
"<ToDo>\n"
"<!-- Do I need a secure PDA? -->\n"
"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
"<Item priority=\"2\" distance='none'> Do bills </Item>"
"<Item priority=\"2\" distance='far & back'> Look for Evil Dinosaurs! </Item>"
"</ToDo>";
cout<<demoStart<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C/C++中char字符串用strcat函数,而不能用+。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
const char* p = "abcd""efgh";//可以这样初始化
const char* p1 = "abcd"\
"efgh"; // 也可以这样初始化
const char* p1 = "abcd"\
"efgh"; // 也可以这样初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再每行的后面加上 \ 做为连接符啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询