Learning_log—string

本文介绍了如何高效处理字符串,包括去除空白字符、使用 getline 和 readline 函数的技巧,以及字符串比较的方法。文章强调了区分大小写的重要性,并通过实例展示了不同字符串操作的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string

 

Read and dicard any leading whitespace(e.g., spaces, newline, tabs)

 

It then reads characters until the next whitespace character is encountered

 

string 读取终止时将whitespace留在输入流中

 

getline

 

read line at time until end-of-file

 

whenever getline encounters a newline ,even if the first character in the input

 

it stop reading input and returns

 

getline 读取终止并丢弃换行符(换行符从输入流中去掉并不储存在string对象中)

 

在使用st.size()统计字符串个数时,包括换行符"a/n" st.size = 2;

 

NOTE

 

string comparisons are case-sensitive the upper- and lowercase versions of a letter a different characters 

 

Every uppercase letter is less than any lowercase letter.

 

 

The relational operators compare strings using the same trategy as in a dictionary

 

If two string have different length  and if every character in the shorter string is equal to the corresponding  character

 

of the longer string, then the shorter string  is less than the longer one.

 

If the characters in two string differ, then we compare them by comparing the first character at which the string differ.

 

As an example:

 

string substr = "Hello";

string phrase = "Hello World";

string slang = "Hiya"

 

substr < phrase true

 

slang > phrase true

colcon build --packages-select learning_action [0.466s] WARNING:colcon.colcon_core.package_identification:Failed to parse ROS package manifest in 'src/learning_action': Error(s) in package 'src/learning_action/package.xml': Error(s): - The generic dependency on 'rclcpp' is redundant with: exec_depend Starting >>> learning_action --- stderr: learning_action Error parsing '/home/ly/mySpace/src/learning_action/package.xml': Traceback (most recent call last): File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 150, in <module> main() File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 53, in main raise e File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 49, in main package = parse_package_string( File "/usr/lib/python3/dist-packages/catkin_pkg/package.py", line 786, in parse_package_string raise InvalidPackage('Error(s):%s' % (''.join(['\n- %s' % e for e in errors])), filename) catkin_pkg.package.InvalidPackage: Error(s) in package '/home/ly/mySpace/src/learning_action/package.xml': Error(s): - The generic dependency on 'rclcpp' is redundant with: exec_depend CMake Error at /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:95 (message): execute_process(/usr/bin/python3 /opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py /home/ly/mySpace/src/learning_action/package.xml /home/ly/mySpace/build/learning_action/ament_cmake_core/package.cmake) returned error code 1 Call Stack (most recent call first): /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml) /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:226 (ament_package_xml) CMakeLists.txt:17 (rosidl_generate_interfaces) --- Failed <<< learning_action [0.97s, exited with code 1] Summary: 0 packages finished [1.42s] 1 package failed: learning_action 1
最新发布
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值