+ -
当前位置:首页 → 问答吧 → 求字符串长度, 遇到到的问题

求字符串长度, 遇到到的问题

时间:2011-07-04

来源:互联网

Perl code

#!/bin/bash
#program:
#This program used to show the inputted file's name
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~bin
export PATH

old_version=$(grep -o 0.9.0.* -i ./tes_ut_options.h)
echo $old_version
len=${#old_version}
#leth= expr length "$old_version"
#echo "leth=$leth"
echo "len= $len"

temp_version=$(grep -o 0.9.0.* -i ./tess.h)
echo $temp_version
len=${#temp_version}
echo $len


实际上tess.h 是tes_ut_options.h文件的副本,内容完全一样,都一个个Perl code
#define _VERSION_ "GC Ver0.9.0.3434"

grep -o 0.9.0.* -i 搜索到的字符串为0.9.0.3434"
搜索第一文件时,计算字符串的长度为12,
搜索第二文件时, 计算字符串的长度为11,
两个结果不同,但他们搜索到的字符串都是0.9.0.3434"
这是怎么回事?我猜测第一字符串的长度包含了\0,如果是这样,第二也应该这样啊?搞不懂,请高手解答!!谢谢

作者: ly309431053   发布时间: 2011-07-04

我的测试为
C/C++ code

0.9.0.3434"
len= 11
0.9.0.3434"
11


作者: axengine   发布时间: 2011-07-04

引用 1 楼 axengine 的回复:

我的测试为
C/C++ code

0.9.0.3434"
len= 11
0.9.0.3434"
11

RHEL5 BASH

作者: axengine   发布时间: 2011-07-04

看看两个文件的格式是否一致
是不是一个是linux格式,另外一个是dos格式

作者: justkk   发布时间: 2011-07-04

引用 3 楼 justkk 的回复:

看看两个文件的格式是否一致
是不是一个是linux格式,另外一个是dos格式

有道理

作者: lgxwqq111   发布时间: 2011-07-04