怎么将TString处理成char?

adlo 2002-04-15 01:34:01
程序中 TString *SL=new TStringlist;
ADOConnection1->GettableName(SL,false);
或者是ADOConnection1->GetTableName(ListBox1->items,false);
这样得出来tablename无论是SL还是ListBox->items都是TStringList类型,但是在ADODataSet1->CommandText里要赋上的tablename值要求是char

请求比较好的解决方法
...全文
168 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
adlo 2002-04-15
  • 打赏
  • 举报
回复
比如我在excel中有三个表分别为a、b、c,用ADOConnection1->GetTableName(ListBox1->items,false);出来的ListBox1->Items中却显示a、a$、b、b$、c、c$
是怎么回事
sczyq 2002-04-15
  • 打赏
  • 举报
回复
AnsiString数据类型的单个字符转换成char时,可用以下方法:

AnsiString cString = "BCB 6.0";
char sChar;

// 取第2个字符的char

sChar = cString.c_str()[1];
// 结果是 sChar = 'C'
wallacechao 2002-04-15
  • 打赏
  • 举报
回复
利用CONVERT()功能进行数据转换。
JackLucifer 2002-04-15
  • 打赏
  • 举报
回复
To: heroin(HEROIN)
您这方法真是好。
可以全转换了。
我怎么就忘了Text呢?

2002-04-15
Jack Lucifer
HEROIN 2002-04-15
  • 打赏
  • 举报
回复
TStrings *SL=new TStringlist();
char *p=SL->Text.c_str();
atdawn 2002-04-15
  • 打赏
  • 举报
回复
嗨,兄弟,C++ Builder好象没有TString 数据类型?
kingcaiyao 2002-04-15
  • 打赏
  • 举报
回复
不要直接使用TString类,因为它是一抽象类,它不允许被实例化(即不允许这样:TString *MyString=new TString())。如果你需要用应该用TStringList类,或从它派生。
JackLucifer 2002-04-15
  • 打赏
  • 举报
回复
可以这样理解吧,
一个TStringList是若干个AnsiString的集合,
看一下TStringList->Strings[index]就知道了。
index是从0开始的数字序列,分别表示第一段AnsiString、第二段AnsiString,
依此类推。
因此,我觉得只要:
TStringList->Strings[index].c_str()
就可以将index所对应的那个AnsiString转换成char了。

应该对。

2002-04-15
Jack Lucifer
jdzyp 2002-04-15
  • 打赏
  • 举报
回复
那有这么烦的,很简单的:
char->AnsiString : Aa=StrPas(cc);
AnsiString->char : cc=Aa.c_str();
grouse 2002-04-15
  • 打赏
  • 举报
回复
TStringList是字符串列表类,里面保存的是AnsiString类型的数据

AnsiString i;
Char *pC;

pC = i.c_str();

就可以了

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧