geiline()与readline()

c++获取终端命令行的输入字符串,常用方法有std::getline和linux库函数readline。cin和scanf也可以得到终端命令行的输入,但是其遇到空间就会结束,不是特别的好用。而std::getline和readline 不会忽略space、tab,遇到Enter才会结束,可适用大部分场景。

readline的使用需要注意以下几点:

需要先check下自己的linux系统是否安装了readline库,如果没有安装,ubuntu上执行sudo apt-get install libreadline-dev;centos上执行sudo yum install readline-devel
readline() 的参数是一个字符串,调用函数的时候会在屏幕上输出,这个函数会读取一行输入,然后返回一个指向输入字符串的指针,readline 会为输入的字符串动态分配内存,所以使用完之后需要free掉。
由于readline是一个动态库,编译的时候需要加上 -lreadline,不然会找不到相关的函数。并且,如果是直接g++命令行编译的,需要将-lreadline写在编译命令行的最后。

原文链接:https://blog.csdn.net/zgcjaxj/article/details/114548681

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`readline()` 是 Python 文件对象的一个方法,用于读取文件中的一行数据。其语法如下: ```python file.readline(size=-1) ``` 其中,`file` 是要读取的文件对象,`size` 是可选参数,用于指定要读取的最大字节数。 当 `size` 为负数或者未指定时,`readline()` 方法会读取文件中的一行数据,并返回一个字符串。如果已经到达文件的末尾,则返回一个空字符串 `''`。例如,对于以下文件: ``` hello world ``` 执行以下代码: ```python file = open('file.txt', 'r') print(file.readline()) print(file.readline()) print(file.readline()) file.close() ``` 会输出以下结果: ``` hello world ``` 需要注意的是,`readline()` 方法会保留行末的换行符(`\n`),因此在打印输出时会出现空行。如果不希望保留换行符,可以使用 `strip()` 方法去除。例如,将上面的代码改为: ```python file = open('file.txt', 'r') print(file.readline().strip()) print(file.readline().strip()) print(file.readline().strip()) file.close() ``` 则会输出以下结果: ``` hello world ``` 如果指定了 `size` 参数,则 `readline()` 方法会读取指定字节数的数据,如果读取的数据不足指定的字节数,则返回读取到的所有数据。例如,执行以下代码: ```python file = open('file.txt', 'r') print(file.readline(3)) print(file.readline(3)) print(file.readline(3)) file.close() ``` 会输出以下结果: ``` hel lo wor ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值