c 中string的用法

“c 中string的用法”相关的资料有哪些?“c 中string的用法”相关的范文有哪些?怎么写?下面是小编为您精心整理的“c 中string的用法”相关范文大全或资料大全,欢迎大家分享。

c++ - string类详解

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

C++中针对C语言中处理字符串的难题,在标准库中设计了string类,因此现在编程中涉及到字符串的处理,就可以直接使用string类了。

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。

首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下: #include //注意这里不是string.h string.h是C字符串头文件

1.声明一个C++字符串

声明一个字符串变量很简单: string Str;

这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s

b) string

c++中vector的用法详解

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.

用法:

1.文件包含:

首先在程序开头处加上#include以包含所需要的类文件vector

还有一定要加上using namespace std;

2.变量声明:

2.1 例:声明一个int向量以替代一维的数组:vector a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。

2.2 例:用vector代替二维数组.其实只要声明一个一维数组向量即可,而一个数组的名字其实代表的是它的首地址,所以只要声明一个地址的向量即可,即:vector a.同理想用向量代替三维数组也是一样,vector a;再往上面依此类推.

3.具体的用法以及函数调用:

3.1 如何得到向量中的元素?其用法和数组一样:

例如:

vector a

int b = 5;

a.push_back(b);//该函数下面有详解

cout<

1.push_back 在数组的最后添加一个数据2.pop_back 去掉数组的最后一个数据3.at 得到编号位置的数据4.begin 得到数组头的指针5.end 得到

C语言中string函数详解(收藏)

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

C语言中string函数详解

分类: C/C++学习 2011-08-10 22:18 42人阅读 评论(1) 收藏 举报

PS:本文包含了大部分strings函数的说明,并附带举例说明。本来想自己整理一下的,发现已经有前辈整理过了,就转了过来。修改了原文一些源码的问题,主要是用char *字义字符串的问题,导致程序运行时崩溃。另外自己重写了部分测试程序,使其更能满足自己测试的需要。不当之处,还请海涵。@函数原型: char *strdup(const char *s)

函数功能: 字符串拷贝,目的空间由该函数分配

函数返回: 指向拷贝后的字符串指针

参数说明: src-待拷贝的源字符串

所属文件: <string.h>

view plaincopy to clipboardprint?

1. #include <stdio.h>

2. #include <string.h>

3. #include <alloc.h>

4. int main()

5. {

6. char *dup_str, *string="abcde";

7. dup_str=strdup(string);

8.

C++中new 的用法大全 详细

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

深入C++的new

―new‖是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。

new的过程

当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A: class A { int i; public:

A(int _i) :i(_i*_i) {}

void Say() { printf(\ };

//调用new: A* pa = new A(3);

那么上述动态创建一个对象的过程大致相当于以下三句话(只是大致上): A* pa = (A*)malloc(sizeof(A)); pa->A::A(3); return pa;

虽然从效果上看,这三句话也得到了一个有效的指向堆上的A对象的指针pa,但区别在于,当malloc失败时,它不会调用分配内存失败处理程序new_handler,而使用new的话会的。因此我们还是要尽可能的使用new,除非有一些特殊的需求。 new的三种形态

到目前为

Java中String类的方法及说明

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

Java中String类的方法及说明

Java中String类的方法及说明

一、构造函数

String(byte[ ] bytes):通过byte数组构造字符串对象。

String(char[ ] value):通过char数组构造字符串对象。

String(Sting original):构造一个original的副本。即:拷贝一个original。

String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。

例如:

byte[] b = {'a','b','c','d','e','f','g','h','i','j'};

char[] c = {'0','1','2','3','4','5','6','7','8','9'};

String sb = new String(b); //abcdefghij

String sb_sub = new String(b,3,2); //de

String sc = new String(c); //0123456789

String sc_sub = new String(c,3,2); //34

C++中string的size,length,capacity三者到底有何区别求解

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

C++中string的size,length,capacity三者到底有何区别求解啦? (2013-11-22 11:23:34) #include<iostream>

#include<string>

using namespace std;

void Display(const string& str)

{

cout<<"String: "<<str<<endl;

cout<<"Size: "<<str.size()<<endl;

cout<<"Length: "<<str.length()<<endl;

cout<<"Capacity: "<<str.capacity()<<endl;

cout<<"Maxsize: "<<str.max_size()<<endl;

cout<<endl<<endl;

}

int main()

深入理解string和如何高效地使用string

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

深入理解string和如何高效地使用string

无论你所使用的是哪种编程语言,我们都不得不承认这样一个共识:string是我们使用最为频繁的一种对象。但是string的常用性并不意味着它的简单性,而且我认为,正是由于string的频繁使用才会促使其设计人员在string的设计上花大量的功夫。所以正是这种你天天见面的string,蕴含了很多精妙的设计思想。

一个月以前我写了一篇讨论字符串的驻留(string interning)的文章,我今天将会以字符串的驻留为基础,进一步来讨论.NET中的string。string interning的基本前提是string的恒定性(immutability),即string一旦被创建将不会改变。我们就先来谈谈string的恒定性。

一、 string是恒定的(immutable)

和其他类型比较,string最为显著的一个特点就是它具有恒定不变性:我们一旦创建了一个string,在managed heap 上为他分配了一块连续的内存空间,我们将不能以任何方式对这个string进行修改使之变长、变短、改变格式。所有对这个string进行各项操作(比如调用ToUpper获得大写格式的string

C语言中冒号的一种用法

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

C语言中冒号的一种用法

C语言中冒号的一种用法

(摘自网络)

这是C语言位域问题

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:

struct 位域结构名

{ 位域列表 };

其中位域列表的形式为: 类型说明符 位域名:位域长度

例如:

struct bs

{

int a:8;

int b:2;

int c:6;

};

位域变量的说明与结构变量说明的方式相同。 可采用先定义后说明,同时定义说明或者直接说明这三种方

式。例如:

struct bs

{

int a:8;

int b:2;

int c:6;

}data;

说明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。对于位域的定

义尚有以下几点说明:

1. 一个位域必须存储在同一个字节中,不能

c++stack_和_queue用法

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

C++ stack queue priority_element

STL--stack/queue的使用方法

2010-01-0517:36

stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现。

准确地说,STL中的stack和queue不同于vector、list等容器,而是对这些容器的重新包装。这里我们不去深入讨论STL的stack和queue的实现细节,而是来了解一些他们的基本使用。

1、stack

stack模板类的定义在<stack>头文件中。

stack模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。

定义stack对象的示例代码如下:

stack<int>s1;

stack<string>s2;

stack的基本操作有:

入栈,如例:s.push(x);

出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。

访问栈顶,如例:s.top()

判断栈空,如例:s.empty(),当栈空时,返回true。

访问栈中的元素个数,如例:s.siz

dbgrideh 中的keylist,picklist的用法

标签:文库时间:2024-11-08
【bwwdw.com - 博文网】

procedure TForm1.FormCreate(Sender: TObject); begin

DBGridEh1.DataSource:=DataSource1; DataSource1.DataSet:=MemTableEh1;

MemTableEh1.DataDriver:=DataSetDriverEh1; MemTableEh1.FetchAllOnOpen:=True;

DataSetDriverEh1.ProviderDataSet:=ADOQuery1;

ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=f:\\mcmygs.mdb;'+ 'Persist Security Info=False;'+

'Jet OLEDB:Database Password=123456'; ADOQuery1.Close;

ADOQuery1.SQL.Text:='Select 自编号,合同号,币种,金额 from dzb'; ADOQuery1.Open;

MemTa