社区
C++ Builder
帖子详情
如何将一个AnsiString类型的变量塞入Char[]中呢?
vc_hking
2003-06-29 04:01:19
如题!
...全文
51
15
打赏
收藏
如何将一个AnsiString类型的变量塞入Char[]中呢?
如题!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hitbabiq
2003-07-02
打赏
举报
回复
用strcpy( ,);
vc_hking
2003-07-02
打赏
举报
回复
strcpy(buf,str.c_str()); is ok!
s98231106
2003-06-30
打赏
举报
回复
String str = "mystr";
char ch[20];
strncpy(ch,str.c_str(),19);
binbin
2003-06-29
打赏
举报
回复
用strcpy的方法是对的,直接指针赋值的方法是错误的.
这个问题讨论过多次了.
c_str()返回的是AnsiString内部保存数据的指针,可能会随着内存的动态分配而改变,所以是不可靠的,必须用strcpy将内容复制出来,不然程序运行到某处后会发现字符串无效了又找不出原因,很多初学者会抱怨是CB的bug.
努力学习的小白小白小白
2003-06-29
打赏
举报
回复
String str = "mystr";
char ch[20];
如何将str付给ch?
..
或许你的字符串不要定义这么大,要根据字符串的需要动态定义
char *ch=new char[str.Getlength()+1];
strcpy(ch,str);
ThinkX
2003-06-29
打赏
举报
回复
xrfei(相如飞) 的做法是错误的,明显内存漏洞。
teatool(美貌与智慧并重,英雄与侠仪的化身)的做法是对的,但是一定注意在使用strcpy或者其他字符串复制函数时不要越界。
MikeWKL
2003-06-29
打赏
举报
回复
str.c_str()是可以的。
teatool
2003-06-29
打赏
举报
回复
String str = "mystr";
char ch[20];
strncpy(ch,str.c_str(),19);
pp616
2003-06-29
打赏
举报
回复
AnsiString str="....";
使用char[]这里有点问题。你不知道你的str的长度。所以我建议用char *
char *buf;
buf=(char *)malloc(str.Length()+1);为buf分配内存空间。要+1 最后一个放字符串结束符号'\0'
memset(buf,0x00,str.Length()+1);初始化内存
然后用strcpy函数将str内存转化到buf中
strcpy(buf,str.c_str());
xrfei
2003-06-29
打赏
举报
回复
To:nanhui(晖)
不用这么麻烦的,可以一次性赋值,试试就知道了。
nanhui
2003-06-29
打赏
举报
回复
各位:楼主说的好像是AnsiString转化为Char[]
AnsiString str = "aaaa";
char chr[20];
chr = str.c_str(); //这是有问题的
据我所知,好像只能一个一个字符地往数组里面插入
void TForm1::StrToChar(AnsiString wstr,char chr[])
{
char *cha;
AnsiString str=AnsiString(wstr);
cha=str.c_str();
for(int i=0;i<wstr.Length();i++)
chr[i]=*(cha+i);
}
nuaacims
2003-06-29
打赏
举报
回复
呵呵 是啊...
AnsiString -->char* 用.c_str()
char*->AnsiString (AnsiString)char;强制转换就行了
xrfei
2003-06-29
打赏
举报
回复
你注意这句:
str.c_str(),其中 .c_str()的作用就是将String型的数据转换成char*型的数据。
vc_hking
2003-06-29
打赏
举报
回复
String str = "mystr";
char ch[20];
如何将str付给ch?
xrfei
2003-06-29
打赏
举报
回复
String str="mystr";
char * mychar=new char[10];
mychar=str.c_str();
Ansi
string
使用大全.doc
Ansi
String
的基本特点是使用
char
类型
的数组来存储字符串数据,每个元素占用
一个
字节。这样可以节省内存空间,提高程序的运行效率。 在实际应用
中
,
Ansi
String
广泛应用于字符串的操作和处理,例如字符串的连接、...
Ansi
String
使用大全.txt
这里演示了如何将
一个
C风格的
char
数组转换为
Ansi
String
类型
。需要注意的是,`strcpy`函数用于复制字符数组,而
Ansi
String
可以直接通过赋值操作来接收
char
数组的内容。 ### 2. Bool与
Ansi
String
的转换 #### Bool到...
Ansi
String
总结
在 C++Builder 这一集成开发环境
中
,`
Ansi
String
` 是
一个
非常重要的数据
类型
,它用于处理 ASCII 字符串。本文将深入探讨 `
Ansi
String
` 的基本概念、内部实现机制及其在 C++Builder
中
的应用技巧。 #### `
Ansi
String
...
C++ Buikder VCL
Ansi
String
操作总结
2. **插入** (`
Ansi
String
& Insert(const
Ansi
String
& str, int index)`): 在`
Ansi
String
`
中
指定的`index`位置插入另
一个
`
Ansi
String
`对象`str`。 3. **大小写转换** (`
Ansi
String
LowerCase()` & `
Ansi
String
...
C++ Builder
string
相互转换
- 声明
一个
`
char
*`
变量
并赋值。 - 直接将其赋值给`
string
`
类型
变量
或通过构造函数初始化。 ```cpp const
char
* nodename = "example";
string
temp = nodename; // 直接赋值
string
temp2(nodename); // 构造...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章