首页

文章

C语言中有string吗?

发布网友 发布时间:2022-04-19 20:09

我来回答

10个回答

热心网友 时间:2022-03-29 06:16

C语言中没有string类型。

string类型是 C++、java、VB等编程语言中的。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。

而在C语言中,C语言中没有字符串类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\0'作为结束标志 。

扩展资料:

C++中string的使用:

其中的string是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦。std::basic_string提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C语言风格字符串双向转换。

字符串在C语言中的使用:

字符串常量初始化数组。如:char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};可写为:char c[ ]={"C program"}; 或去掉{}写为:char c[ ]="C program"。

参考资料来源:百度百科-string类

参考资料来源:百度百科-字符数组

热心网友 时间:2022-03-29 07:34

一直以来对这个问题都不是很清楚:只是知道C语言里有<string.h这个头文件,所以就想当然的认为C语言里有string这个
类型,可以通过下面这种形式来声明string的变量 string aString;
后来编程时发现通不过编译,又查资料才知道原来C语言里压根就没有string这个类型,所以字符串都是通过char数组来存储的,
而<string.h这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类(注意是类,
不是类型)。这是网上我找到的比较满意的答复:
" C语言中有string类型变量吗"
这里的 string 有 二 义性。
(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。
char str[]="This is a string";
(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是
类型,不是 type.

热心网友 时间:2022-03-29 09:09

C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数, 在使用前应包含头文件"stdio.h" ; 使用其它字符串函数则应包含头文件"string.h"。 下面介绍几个最常用的字符串函数。
1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串
#include"stdio.h"
main()
{
static char c[]="BASIC\ndBASE";
puts(c);
}
2.字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。
#include"stdio.h"
main()
{
char st[15];
printf("input string:\n");
gets(st);
puts(st);
}
3.字符串连接函数strcat 格式: strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。本函数返回值是字符数组1的首地址。
#include"string.h"
main()
{
static char st1[30]="My name is ";
int st2[10];
printf("input your name:\n");
gets(st2);
strcat(st1,st2);
puts(st1);
}
4.字符串拷贝函数strcpy 格式: strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
#include"string.h"
main()
{
static char st1[15],st2[]="C Language";
strcpy(st1,st2);
puts(st1);printf("\n");
}
5.字符串比较函数strcmp 格式: strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。
本函数也可用于比较两个字符串常量,或比较数组和字符串常量。
#include"string.h"
main()
{ int k;
static char st1[15],st2[]="C Language";
printf("input a string:\n");
gets(st1);
k=strcmp(st1,st2);
if(k==0) printf("st1=st2\n");
if(k>0) printf("st1>st2\n");
if(k<0) printf("st1<st2\n");
}
6.测字符串长度函数strlen 格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值。
#include"string.h"
main()
{ int k;
static char st[]="C language";
k=strlen(st);
printf("The lenth of the string is %d\n",k);
}

热心网友 时间:2022-03-29 11:00

string src="hello"可以这么理解.

在头文件里有:
typedef char *string
所以这一句其实就是:
char *src="hello";
就是在声明了一个字符串数组后对其进行了初始化.

这一句可以写成这样:
char src[6]="hello";

这一句理解了,后面两句也就容易理解了.
string filename,temp
就是:
char *filename,*temp
是两个字符类型的指针.

热心网友 时间:2022-03-29 13:08

typedef char *string
所以这一句其实就是:
char *src="hello";
就是在声明了一个字符串数组后对其进行了初始化.

这一句可以写成这样:
char src[6]="hello";

这一句理解了,后面两句也就容易理解了.
string filename,temp
就是:
char *filename,*temp
是两个字符类型的指针.

热心网友 时间:2022-03-29 15:33

string是C++里才新定义出来的类型,使用前要#include <string>,C里面用的是C风格的字符串

即使是C++用的时候也要使用namespace——————std::string i = "";头文件string

热心网友 时间:2022-03-29 18:14

#include <stdio.h>
void main(){
string words="";
printf("请输入任意字符串,按回车结束。\n");
scanf("%s",&words);
printf("%s",words);
}

热心网友 时间:2022-03-29 21:12

当你要用到这个头文件中定义的函数时。
比如如果你要使用strlen,strcmp,strcat等字符串操作函数,就需要#include<string.h>。

热心网友 时间:2022-03-30 00:27

把string 看成一个字符数组就行了
但是更一般的是,你可以把它当成一个类来使用,就象int 一样

热心网友 时间:2022-03-30 03:58

在用到string.h库中的相关函数时应该加#include
具体是哪些函数,你打开string.h文件就能明白
历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... C语言:字符串输入与输出 c语言输入多个string字符串的时候,怎么输入一个,... c语言中string是啥意思啊? 控制啥的啊 C语言,要输入N个字符串怎么输? c语言如何输入数字字符串 C语言字符串的输入 c++中怎么从键盘输入string类型的变量?? c语言中string怎么用啊 c语言 如何从键盘输入字符串?????? 在C语言中怎么输入一个字符串 有关C语言字符串输入问题 c++string类型怎么输入 c语言怎么输入字符串 c语言字符串数组怎么输入和输出呢 支付宝淘票票获取短信的手机如何修改? 生完孩子8个月,睡觉时子宫鼓起来一动一动的为什么 为什么睡着后子宫会痉挛?这星期发生三次了! 每天晚上睡觉醒了子宫里感觉都有空气一样这么回事? 怀孕四个月怎么晚上睡觉子宫流血怎么办 晚上睡觉子宫拽着现难受睡不着觉咋回事? c语言 输入一个字符串,一个个读入字符,再输出。 一个C语言字符串输入问题 C语言上中怎么样直接输入输出一个字符串 祝生日快乐的歌有哪些? 祝你生日快乐的歌词 有关生日或生日祝福的好听的歌曲 祝你生日快乐祝你天天快乐是什么歌? “祝你生日快乐”的歌名是什么? 祝福生日的有哪些歌曲 “生日快乐,祝你生日快乐。。。”这句歌词的歌名是... 祝你生日快乐歌曲原唱 祝你生日快乐 歌词 祝你生日快乐的歌词是什么? 祝你生日快乐原版完整版歌词。 最好听的生日快乐歌 祝福别人生日的歌曲哪些? 生日祝福歌有哪些 祝你生日快乐祝你天天快乐这首歌叫什么? 平时唱的“祝你生日快乐,祝你生日快乐…”这首歌歌名... 祝你生日快乐的这首歌的钢琴的曲子的音符
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com