/
判断一个字符串是否有数字
/
int hadInt(QString src)
{
int i = 0;
QByteArray ba = srctoLatin1();//QString 转换为 char
const char s = badata();
while(s++)
{
i++;
if ('0' <= s || '9' > s)
{ //出现数字返回数字位置
return i ;
}
}
//无数字
return -1;
}c语言字符串包含字符个数, 可以用 strlen() 测定字符串长度,用 sizeof() 测定字符串占用内存多少字节。
c语言字符串中,可以含有 “转义字符”(escape sequence),
例如: \r \n \t \\ 八进制数码 \0123 十六进制数码 \xab, 不可见字符串结束符 \0 等。
所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。
程序例子,判断 "abc\0123\xab\n" 的字符串长度和占用内存多少字节:
#include <stdioh>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
输出
7 8 //方法一,用字符串常量。
7 8 //方法二,用字符串变量s。qt判断字符串全部都是空格:ok=1;//先设置全是空格为真
i=0;//字符串开始
while(s[i])//循环每一个字符
if (s[i]!=32){
ok=0;//非空格
break;
}
if (ok) puts("全是空格");
else puts("有空格之外的字符");
QT中关于QString用法有:
1、获取子字符串在字符串中的位置。
(1)indexOf():返回此字符串中第一次出现的字符串str的索引位置,从索引位置向前搜索。如果找不到str,则返回-1。
(2)lastIndexOf()函数:返回字符串的最后一次出现的索引。
2、字符串的追加和组合。
(1)二元 *** 作符“+”用来组合两个字符串,“+=”可以用于字符串的追加。
(2)QString::append()函数,具有与“+=” *** 作符同样的功能,实现字符串末尾追加另一个字符串。
(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义和C++库中的函数sprintf()定义一样。
3、字符串相互转换。
(1)数字转换为字符串,使用静态函数QString::number():
(2)字符串转换为数字,常用的有toInt(),toLongLong(),toDouble()等等
4、提取字符串。
(1)中间截取mid(intposition,intn=-1)函数用于返回一个字符串,如果目标字符串包含从指定的位置索引开始的n个字符,则返回指定位置开始的由n个字符组成的字符串;如果位置索引超过了字符串的长度,则返回空字符串。
(2)左边截取left()函数返回最前面的n个字符,右边截取right()函数返回最后的n个字符。
5、判断字符串是否包含。
(1)isEmpty函数用于判断字符串是否为空,并返回判断结果。
(2)isNull效果和isEmpty类似,如果该字符串为空,则返回true;否则返回false。
扩展资料:
QString和C标准中的字符串不同,C++原生提供两种字符串: 传统的C风格以’\0’结尾的字符数组和std::string类。与这些不同,QString使用16-bit Unicode值。
当使用QString时,不必 *** 心如此隐秘的细节,像分配足够的内存或者是数据是’\0’结尾的。 总的来说,QString可以被认为是一个QChar向量。一个QString能嵌入’\0’字符。 length()函数返回整个字符串大小,包括嵌入的’\0’。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)