在c语言中怎样定义一个字符串 c语言中怎么实现任意长度字符串输入?

[更新]
·
·
分类:互联网
1172 阅读

在c语言中怎样定义一个字符串

c语言中怎么实现任意长度字符串输入?

c语言中怎么实现任意长度字符串输入?

其实核心就是实现动态数组,无论字符串多长,都能够储存。
用getchar一个一个得到字符,直到文件结束。
核心代码实现:
int n0,k100 //初始化,字符串长度为0,字符串空间长度为100 char * s2 NULL,s1 (char *)malloc(100) //初始化字符串空间 if (s1 NULL) return //内存分配失败,返回 while((cgetchar())!EOF){ //判断是否到文件结束,一个个读取字符 if(kltn){ //当前字符串长度大于等于字符串空间长度时 k*2 //长度增长2倍 s2 (char *)realloc(s1,k) //重新分配内存 if(s2 NULL){ //内存分配失败 free(s1) //释放已分配内存 return }else{ //内存分配成功 s1s2 } } s1[n ]c //字符串赋值字符 } s1[n]0 //字符串末尾置为0

在C语言中如何实现用键盘输入一个字符串,并打印出来?

最基本的实现有三种,高级实现技巧不说。
第一种: printf(#34%s#34, strSrc)
第二种: puts(strSrc)
第三种:(或者用while,原理一样) int i for (i 0 i lt strlen(strSrc) i ) printf(#34%c#34, strSrc[i]) 看情况选取使用。