# 如何实现"java c_str"
## 一、流程
```mermaid
journey
    title 教学流程
    section 说明问题
        开发者解释java c_str的含义和作用
    section 指导步骤
        开发者列出具体步骤并一步步指导
    section 代码实现
        开发者给出代码示例并讲解
```
## 二、步            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-02 04:27:57
                            
                                0阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # c_str 方法在 C++ 和 Java 中的比较
## 简介
c_str 是 C++ 标准库中的一个函数,用于将字符串对象转换为以 null 字符结尾的字符数组。而在 Java 中,虽然没有直接对应的 c_str 方法,但可以通过其他方式实现相同的功能。本文将对 c_str 在 C++ 和 Java 中的使用进行比较,并给出相应的代码示例。
## 什么是 c_str 方法?
c_st            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-10 07:49:21
                            
                                75阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、c_str() 是string的一个方法,返回指向const char的指针,该指针不能修改指向的内容。
2、为什么要用c_str()?
因为有些地方需要用char指针,比如以char指针作为形参的方法。
3、为什么可以用文本常量的字符串赋值给char指针,却不能用字符串变量赋值给char指针?
1     char * cp1 = "hello";  // OK
2 
3     st            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-10-12 16:00:00
                            
                                134阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-01 20:35:51
                            
                                356阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            void test()
{
string str="123";
const char *p=str.c_str();
str.append("999"); //追加999后会变为野指针
const char *p2=str.c_str();
}
修改
void test()
{
	string str="12            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2016-04-01 21:51:04
                            
                                278阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            输出            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-05-07 00:21:00
                            
                                98阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            c_str()方法是返回一个C语言字符串的指针常量(即可读不可改变),内容与调用此方法的原字符串相同            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-15 15:06:38
                            
                                477阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            c_str
 
c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。
c_str函数是类string的成员函数。
c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-03-22 16:02:16
                            
                                1144阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            if(g_bIsRunAgain){     AnsiString strPath;     STARTUPINFO StartInfo;     PROCESS_INFORMATION procStruct;     memset(&StartInfo, 0, sizeof(STARTUPIARTUPINFO);            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-19 16:42:01
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            string str =""初始化对象分配空间 而string str=null初始化对象 更详细的解释 这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-30 18:01:43
                            
                                996阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            C语言中没有特定的字符串类型,常用以下两种方式定义字符串:一种是字符数组,另一种是指向字符串的指针。如下:(1)char str[] = "happy";(2)char *str = "happy";这种方式有什么不同呢?示例一:字符数组#include <stdio.h>int main(void){ char str[20] = "hello";  str[...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-02 11:18:40
                            
                                2376阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            c_str()和strcasecmp这两个函数以前没怎么玩过,今天碰到了,来学习一下。int main(){	char str1[10] = "AB";	char str2[10] = "ab";		if(!strcasecmp(str1,str2))	{		printf("yes\n");	}	return 0;}打印:yesstrcasecmp的作用是比较两个字符            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-04 15:49:28
                            
                                144阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-07-03 10:54:00
                            
                                105阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            函数作用为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。函数语法:const char *c_str();返回值c_str()函数返回一个指向正规C字符串的指针常量(临时指针), 内容与本string串相同。使用注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char* c; string s="1234"; c = s.c_str();            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-11-15 19:11:10
                            
                                3018阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            void itoa(int n,char s[]) { int i,sign; if ((sign=n) <0) n=-n; i=0; do { s[i++]=n%10+'0';} while ((n/=10)>0); if (sign <0) s[i++]='-'; s[i]='\0'; reverse(s); }            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2010-03-12 13:13:00
                            
                                67阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            c_str()就是将C++的string转化为C的字符串数组,c_str()生成一个const char *指针,指向字符串的首地址。char *p=s[10];string a=“welcome”;strcpy(p,a.c_str());cout<<p;结果为"welcome".这里其实做了一个隐式转换,即从char* -> const char* string str(“wa            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-22 13:20:04
                            
                                493阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先,我们得明确,在C语言中,没有真正的字符串类型。所以,就诞生了 字符串数组 这么个类型。于是,当我们想申明一个字符串变量时,大体上有下面两种方法:char str[] = "hello";char *p = "hello";str[]:它定义的是一个字符串数组变量。可以通过 str[0] = "w" 修改值。*p:它定义的是一个指针变量。不能通过 *(p+0) = "w" 修改值。为什么这两种写法都可以呢?这就和C语言中字符串本质有关了。C语言中字符串本质 是返回一个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-10 14:12:35
                            
                                1142阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            c_str():生成一个const char*指针,指向以空字符终止的数组。 #include<iostream> #include<string> #include<cstring>//需要包含cstring的字符串 using namespace std; int main() { const  ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-26 17:22:00
                            
                                2180阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            数组和指针数组名是一个指针常量,数组定义时设置成数组第一个单元的地址,从此以后就不            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-09 18:52:25
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            小谈 JavaScript 的 if 语句写法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-07-17 16:38:00
                            
                                165阅读
                            
                                                                                    
                                2评论