C语言怎么实现可变长度字符串

关注:149  答案:3  手机版

解决时间 2021-02-09 17:22

提问者北墓南笙

2021-02-09 04:15

比如C# 写了个配置文件 不管多长都声明一个string变量用StreamReader下的方法载入进入

貌似C语言没这样的懒方法 那该怎么做呢

最佳答案

二级知识专家一个狠有粪量的人

2021-02-09 05:01

char * p = (char*)malloc(sizeof(char)*n)别忘了free

C++和C#的string类型在最低层实际也是利用类似方法去做的

另外有一种

char str[SIZE_MAX]也有人喜欢用

realloc函数

只是不太推荐,主要原因是以前系统上这个函数操作会出问题,因为内存的原因

全部回答

1楼没仙气的仙女

2021-02-09 05:30

C语言实现可变长度字符串,主要依靠realloc函数实现,主要代码如下,

//程序功能,判断插入字符长度len,若大于预设大小n,调整字符串数组大小,实现动态处理数组大小。

#include

#include

#include

int main(int argc, char *argv[])

{

char * pstr = NULL;

int n=10;//字符串初始大小

char str[100];//待插入字符串

int len=0;//待插入字符

c语言实现动态字符串,C语言怎么实现可变长度字符串相关推荐

  1. 什么是python语言的动态类型机制_python的内存管理机制

    一.python是一个什么样类型的语言 1.python是一种动态解释性强类型定义的高级.通用性编程语言. 解释型:执行的时候,才一条一条的解释成机器语言给计算机来执行.如:python.js.rub ...

  2. python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...

    Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...

  3. c语言:动态输入字符串数组

    考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在c语言中必须存放到数组中,无形之中又给考题增加了难度 一般情况下,字符串数组都以二维数组或指针数组定义,而 ...

  4. 编译语言与解释语言,动态与静态,以及强类型和弱类型的区别

    编译和解释的区别是什什么? 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机 可以直接以机器语言来运行此程序,速度很快; 而解释器则是只在执行程序时,才一条一条的解释 ...

  5. 【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )

    文章目录 一.Groovy 支持 Java 语法 二.Groovy 支持 Java 虚拟机 三.Groovy 语言是 动态语言 四.Groovy 扩展 JDK 五.Groovy 编译时元编程 一.Gr ...

  6. 动态语言,静态类型,强类型定义语言,弱类型定义语言,

    1 动态语言和静态语言 通常我们所说的动态语言.静态语言是指动态类型语言和静态类型语言.    1 动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时 ...

  7. [转载] 【Python进阶】4-2 多态 | 什么是多态 / 静态语言vs动态语言 / python中多态

    参考链接: Python中的多态 文章目录 1.什么是多态"开闭"原则 2.静态语言 vs 动态语言小结 3.python中多态 1.什么是多态 要理解什么是多态,我们首先要对数据 ...

  8. C语言 入门教程||C语言 指针||C语言 字符串

    C语言 指针 学习 C 语言的指针既简单又有趣.通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的.所以,想要成为一名优秀的 C 程序员,学习指针是很有必要 ...

  9. c语言不允许对数组大小作动态定义,c语言第07章数组.ppt

    第七章,数组,问题:给一组数排序,这组 数该 如何存放呢,??? 这些数据如何存放才便于排序,,1,8,8,8,8,8,8,8,8,8,8,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ...

最新文章

  1. Socket编程实战
  2. 聊聊 #pragma 和 // MARK:
  3. CSS SANS – 神奇!使用 CSS3 创建的字体
  4. IOS的UI基础02
  5. 移动平台作业——天气预报——天气数据的获得——为应用申请百度ak码
  6. 根据实例类型反射操作数据库(简单通用表操作类)
  7. 修饰符.lazy .number .trim
  8. 3D脚本 maxscript入门教程(7)
  9. phpstrom常用配置
  10. sklearn学习(模块列表)
  11. AI中台——智能聊天机器人平台的架构与应用
  12. win10怎么把c盘锁住_win10怎样锁住c盘 win10删除c盘无用文件
  13. PHP调用京东联盟接口以及配置签名
  14. 走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?
  15. 如何将计算机网络连接打印机,电脑怎样连接打印机,教您电脑如何连接网络打印机...
  16. 考拉消息中心消息盒子处理重构(策略模式)
  17. 使用python抓取搜狗引擎公众号文章
  18. android 探索怎么代码打开辅助功能
  19. God--Ruby版的进程监控工具
  20. 无人驾驶技术的7大典型应用场景

热门文章

  1. kaggle练习-共享单车数据
  2. cocos creator 打包ios 构建失败
  3. tankbot 机器人_优必选科技履带式Jimu机器人TankBot登陆Apple Store零售店
  4. CodeForces 868A Bark to Unlock
  5. 访问网络中的计算机密码忘了怎么办,忘记wifi密码怎么办,用这招可以知道电脑中的wifi密码...
  6. 大数据时代,揭露个人数据泄漏和秘密跟踪内幕
  7. 打造一套安全的UI组件库!
  8. [IAR] 编译报错:Variable expansion failed for Pre-Build command line
  9. 扫描识别行驶证的软件技术
  10. mybatis从入门到精通(刘增辉著)-读书笔记第二章