设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
字符串的问题让我好晕啊!!!
返回列表
查看:
598
|
回复:
3
字符串的问题让我好晕啊!!!
[复制链接]
dragon9876
dragon9876
当前离线
积分
86
IP卡
狗仔卡
发表于 2004-10-8 18:55:37
|
显示全部楼层
|
阅读模式
最近学习qt,字符串实在是弄不明白
printf("%s",fi->fileName());
打印一个文件名这是好用的,但我拿到qt的insert listboxitem中,
QString str;
str = QString(fi->fileName());
lb1->insertItem( str );
总是报错:
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -DQT_SHARED -I/usr/local/qt-x11/mkspecs/linux-g++ -I. -I/usr/include/freetype2 -I../../include -I.moc/release-shared/ -o .obj/release-shared/listboxcombo.o listboxcombo.cpp
listboxcombo.cpp: In constructor `ListBoxCombo:
istBoxCombo(QWidget*, const
char*)':
listboxcombo.cpp:69: no matching function for call to `QString:
String(
<unknown type>)'
../../include/qstring.h:746: candidates are: QString:
String(QStringData*,
bool)
../../include/qstring.h:720: QString:
String(int, bool)
../../include/qstring.h:409: QString:
String(const
std::string&)
../../include/qstring.h:406: QString:
String(const char*)
../../include/qstring.h:404: QString:
String(const QChar*,
unsigned int)
../../include/qstring.h:403: QString:
String(const
QByteArray&)
../../include/qstring.h:402: QString:
String(const QString&)
../../include/qstring.h:401: QString:
String(QChar)
../../include/qstring.h:838: QString:
String()
listboxcombo.cpp:49: warning: unused variable `unsigned int i'
make: *** [.obj/release-shared/listboxcombo.o] Error 1
麻烦帮忙看看!为啥啊??
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
x11
x11
当前离线
积分
2823
IP卡
狗仔卡
发表于 2004-10-8 21:33:46
|
显示全部楼层
QString str;
str = QString(fi->fileName());
这种代码。。。质量不行阿
你的fi->fileName()返回什么类型阿
为什么报告
listboxcombo.cpp:69: no matching function for call to `QString:
String(<unknown type> )'呢
回复
支持
反对
使用道具
举报
显身卡
dragon9876
dragon9876
当前离线
积分
86
IP卡
狗仔卡
楼主
|
发表于 2004-10-9 07:59:26
|
显示全部楼层
我想应该是一个字符串指针吧,因为用printf("%s",fi->filename())就能打印出来,QSstring也支持指针啊,怎么就是报错ne??
回复
支持
反对
使用道具
举报
显身卡
dragon9876
dragon9876
当前离线
积分
86
IP卡
狗仔卡
楼主
|
发表于 2004-10-9 08:44:21
|
显示全部楼层
问题解决:
因为没有好好看QT教程,在QString下有这么一段话:
所有的QString的方法都使用const char *参数,const char *被解释为经典的C风格的以零结尾的ASCII字符串。所以const char *参数为0是合法的。如果const char *不是以零结尾的,结果是不确定的。把经典的C字符串复制到QString的函数将不会复制结尾的0字符。QString的QChar数组(可以通过unicode()返回)通常不以零结尾。如果你需要把QString传递到一个需要C的以零结尾的字符串,请使用latin1()。
在QString(fi->fileName()......)的......加上.lantin1()就好用了.
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表