str函数详解(求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码)

:暂无数据 2026-07-28 13:50:02 :0

str函数详解(求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码)

各位老铁们好,相信很多人对str函数详解都不是特别的了解,因此呢,今天就来为大家分享下关于str函数详解以及求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码

.c_str()就是把string类型转为char*类型,它是string类型自带的一个类型转换函数。

关于乱码,是由于你的数据没有初始化,并且输出时循环越界引起的,修改为以下即可:
#include 《iostream》
#include 《string.h》
using namespace std;
int main()
{
string str=“Hello World!“;
char arr={0};
strcpy(arr,str.c_str());//.c_str()是把string类型转为char*格式!
for(int i=0;i《50;i++)
{
cout《《arr[i];//显示’e’ 可以自己改动看看结果
}
return 0;
}

c语言 请下面的详细解释程序 ,特别是fun(str)这个函数 ,谢谢

#include《stdio.h》
fun(char * str)
{ char * p=str;
int i=0;
while((*p)!=0) //??当字符串走到最后的结束符,等效于while((*p)!=’0’)
{
if((*p)!=’ ’) //从第一个字符开始,如果不是空格,就复制,否则指针后移
str[i++]=*p;
p++;
}
str[i]=0;
}

main()
{ int fun(char * str);
char str;
printf(“Input a string:“);
printf(“%d\n“,’\0’);
gets(str);
fun(str);
printf(“str:%s\n“,str);
return 0;
}
//你这函数对字符串就是去除空格的作用

一个指针函数,有点无法理解,求用通俗的语言讲解下,很是不明白

*str++=*p中,++号的优先级较高,即*(str++) = *p,左边*str是指针str指向的变量,指针str也是变量嘛,当然可以自增。不过指针变量的自增的值不是简单的加1,是加1个类型长度。如果str指向数组的首地址(第一个元素),那么str++之后,str指向数组的第二个元素的地址。*(str++) = *p中的++是后缀形式,因此实际是 *str = *p; ++str;
函数整体思想是把指定的字符全部删掉,删掉该字符后,需要填补新的内容啊,就是把后面的内容往前一格移动,这种移动方式实际是以指针的方式,str标识当前的内容,p则是遍历原数组,因此p要比str靠后一点。
p遍历原数组后,str标识新的数组,以’\0’作为数组结束符。

重新整理一下程序可能更好看一点
void prochar(char *str,char c){
char *p;
for(p=str;*p!=’\0’;p++)
if(*p!=c) *str++=*p;

*str=’\0’;
}

C++里面定义了一个字符数组,当对外输出字符数组首地址时,得到了全部的数组内容,小弟愚钝,求详解!

对于字符数组,那是因为ostream流封装了这个功能;对于数值数组,就不可能用首地址来完成全部数组成员的输出.
#include 《iostream》
using namespace std;
char str={’A’,’A’,’A’,’A’,’A’,’A’,’A’,’A’,’A’,’A’};
char *SetStr(char [ ],long);
int main(int argc, char* argv[ ]){
char *pStr = SetStr(str,10); //调用SetStr()函数
cout《《pStr《《endl; //输出pStr
cout《《(int*)pStr《《endl;
};
char *SetStr(char str,long lStrSize){
for (long nCnt=0;nCnt《lStrSize;nCnt++){ //设置字符数组的值
str[nCnt] = ’B’;
};
return str;
}

vfp str 函数 为什么返回***

那是因为你在STR函数中指定输出的字符长度小于数据整数部份的位数造成的。
数值1234.5678的整数部分是4位,如果STR函数中指定的整数位数小于4位,则返回相应指定位数的*号。如果str函数中指定的整数位数大于4位,则在前面加空格。

str(1234.5678,1) 返回*
str(1234.5678,2) 返回**
str(1234.5678,3) 返回***
str(1234.5678,4) 返回1235
str(1234.5678,5) 返回 1235
str(1234.5678,6) 返回 1235

【oracle】:字符串分割的函数讲解

-- 定义一个对象类型.
CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000));
/

-- 定义一个 表/数组类型, 内容是前面定义的那个对象.
CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split;
/

--------------------
-- 字符分割函数.
-- 参数1:  被分割的源字符串
-- 参数2:  用于拆分的字符串。
--------------------
CREATE OR REPLACE FUNCTION fn_split(
  p_str       IN VARCHAR2,
  p_delimiter IN VARCHAR2)
RETURN ty_tbl_str_split IS
  j         INT := 0;
  i         INT := 1;
  -- 被分割的源字符串 的长度.
  len       INT := 0;
  -- 分隔字符串的长度
  len1      INT := 0;
  -- 暂存的中间每一个单元的文本信息.
  str       VARCHAR2(4000);
  -- 预期返回结果.
  str_split ty_tbl_str_split := ty_tbl_str_split();
BEGIN
  -- 被分割的源字符串 的长度.
  len   := LENGTH(p_str);
  -- 分隔字符串的长度.
  len1 := LENGTH(p_delimiter);

  -- 遍历 被分割的源字符串.
  WHILE j 《 len LOOP
    -- 在被分割的源字符串中, 查询 分隔字符串.
    j := INSTR(p_str, p_delimiter, i);

    IF j = 0 THEN
      -- j=0 意味着没有找到.
  -- 可以理解为是查询到最后一个单元了.
  -- 设置 j := len, 让外部的循环处理可以结束了.
      j  := len;
      -- 获取最后一个单元的内容.
      str := SUBSTR(p_str, i);
      -- 结果追加一行.
      str_split.EXTEND;
      -- 设置结果内容.
      str_split(str_split.COUNT) := ty_row_str_split(strValue =》 str);

      IF i 》= len THEN
        EXIT;
      END IF;
    ELSE
      -- 如果在被分割的源字符串中,找到了 分隔字符串.
      -- 首先,获取分割的内容.
      str := SUBSTR(p_str, i, j - i);
      -- 然后设置索引, 下一次再查找的时候,从指定的索引位置开始(不是从0开始找了)
      i := j + len1;
      -- 结果追加一行.
      str_split.EXTEND;
      -- 设置结果内容.
      str_split(str_split.COUNT) := ty_row_str_split(strValue =》 str);
    END IF;
  END LOOP;


  RETURN str_split;
END fn_split;
/




函数创建完毕以后,可以开始做查询的处理.


SQL》 select to_char(strvalue) as Value from table(fn_split(’aa,bb,cc’,’,’));

VALUE
-------------------------------------------------------------------------------
aa
bb
cc

strtran函数

STR(a,b,c):返回与指定数值表达式对应的字符串,a--要计算的数值表达式,c--返回的字符串长度,如果省略,则默认为 10 个字符,c--返回的字符串中的小数位数,如果省略,则默认小数位为零 (0).所以STR(35.69)结果为“ 36“
SPACE(d):返回d个空格.所以SPACE(2)结果为“ “
STRTRAN(e,f,g):将字符串e中的f全部用g代替,如STRTRAN(“T1T2T3T4“,“T,“K“)的结果为“1K2K3K4“
最后所以:STRTRAN(STR(35.69),SPACE(2),“*“)=STRTRAN(“ 36“,“ “,“*“)=“****36“ -----将字符串“ 36“中的“ “全部用“*“代替,1个*代替2个空格

如果你还想了解更多这方面的信息,记得收藏关注本站。

str函数详解(求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码)

本文编辑:admin

更多文章:


majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

手机云备份是什么意思?手机上的云备份有什么用 怎么用呢

手机云备份是什么意思?手机上的云备份有什么用 怎么用呢

各位老铁们,大家好,今天由我来为大家分享云备份,以及手机云备份是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月11日 02:40

java遍历map的key(java Map 怎么遍历)

java遍历map的key(java Map 怎么遍历)

大家好,java遍历map的key相信很多的网友都不是很明白,包括java Map 怎么遍历也是一样,不过没有关系,接下来就来为大家分享关于java遍历map的key和java Map 怎么遍历的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月11日 02:20

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
promote翻译(英语翻译倡导怎么说)
2026-10-11 06:30:03 浏览:0
热门文章

标签列表