linux字元串轉數字
A. linux shell中字元'1'如何進行比較
linux shell中不區分字元還是字元串的,只區分數值的比較還是字元串的比較。
你這樣寫就認為是字元串。字元的話你要寫ASCII碼數值,字元'1'要寫成49,轉換為數字進行比較。
B. linux下c語言字元串轉數字的問題
很好寫啊~
char
c[]
=
"12.34";
double
d;
sscanf(c,"%lf",&d);
sscanf的作用是從給定字元串中按照某格式讀數據
---
在我的編譯器上你的程序沒有問題
你按照我寫的試試吧
#include
<stdio.h>
int
main(){
char
str[]
=
"12.34";
double
d;
sscanf(str,"%lf",&d);
printf("%lf",d);
return
0;
}
C. linux ip 整數轉字元
樓主你好!
這個函數char FAR * inet_ntoa( struct in_addr in);
功能:將一個IP轉換成一個互聯網標准點分格式的字元串。
你可以這樣做:
先定義個sockaddr_in p;
然後給p.sin_addr.s_addr=0xfeff0032;
再定義個字元指針char *a;用來存放轉後的字元串
最後使用a=inet_ntoa(p.sin_addr.saddr);
下面是我寫的簡單的測試程序:
提醒下:
p.sin_addr.s_addr=0xfeff0032;這里可能涉及網路位元組轉換,需要用到ntohl()函數,具體情況得看你的這個0xfeff0032到底是網路位元組的ip整數,還是你自己主機上的ip整數。我這把它看成是主機上的ip整數!
希望的回答對你有幫助!
D. linux下 C++如何查找字元串「10-1000」的內容,即把10和1000兩個數返回
有專用的函數,也可以自己編,一次一個字元,
num=0;
ch,
//取string的字元,一次一個
ch=='\0' //結束字元,這個字元串查找完畢
ch<0 ch>9 //如果不是數字,略過,結束這個數字的查找,准備查找下一串數字
ch-'0' //將字元ch轉換為數字ch
num=num*10+ch; //ch是數字,加入
具體的,自己再添加。
E. 求助:linux 字元串 轉變成數字 並進行加減乘除運算
detaV=$(echo $V1 + $V2 | bc)
加減乘除模冪+ - * / % ^
F. linux 許可權字元串rwxr-xrw-所對應的八進制許可權數字
答案是756r代表可讀,w代表可寫,x代表可執行,-代表不能進行這些操作。把可讀、可寫和可執行都記為1,-記為0,rwxr-xrw-對應數字為111,101,110。000到111分別對應八進制數的0到7,所以rwxr-xrw-化為八進制數是756。
G. shell中將字元串轉換成數字
1、數字類型轉字元類型
數字類型轉字元類型,是比較常見的,也是必須容易實現的。大多時候系統能夠自動進行轉換,如:
aa=$((1+1));echo $aa
變數aa賦值為整數2,但echo 輸出時已被當成字元型。當然也可以強制進行轉換,如:
echo $aa""
通過與空字元串進行連接,強化將變數aa轉化成了字元型。
H. 總結linux替換字元串的幾種方法
一)通過vi編輯器來替換。
vi/vim 中可以使用 :s 命令來替換字元串。
:s/well/good/ 替換當前行第一個 well 為 good
:s/well/good/g 替換當前行所有 well 為 good
:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第一個 well 為 good
:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good
n 為數字,若 n 為 .,表示從當前行開始到最後一行
:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第一個 well 為 good
:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#well/#good/# 替換當前行第一個 well/ 為 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin
(二)直接替換文件中的字元串。(此法不用打開文件即可替換字元串,而且可以批量替換多個文件。)
1.perl命令替換,參數含義如下:
-a 自動分隔模式,用空格分隔$_並保存到@F中。相當於@F = split 」。分隔符可以使用-F參數指定
-F 指定-a的分隔符,可以使用正則表達式
-e 執行指定的腳本。
-i<擴展名> 原地替換文件,並將舊文件用指定的擴展名備份。不指定擴展名則不備份。
-l 對輸入內容自動chomp,對輸出內容自動添加換行
-n 自動循環,相當於 while(<>) { 腳本; }
-p 自動循環+自動輸出,相當於 while(<>) { 腳本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
將所有C程序中的foo替換成bar,舊文件備份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前文件夾下lishan.txt和lishan.txt.bak中的「shan」都替換為「hua」
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
將每個文件中出現的數值都加一
2.sed命令下批量替換文件內容
格式: sed -i "s/查找欄位/替換欄位/g" `grep 查找欄位 -rl 路徑` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
s表示替換,d表示刪除
示例:sed -i "s/shan/hua/g" lishan.txt
把當前目錄下lishan.txt里的shan都替換為hua 各個Linux詳細命令介紹及應用可如下進行查找
I. 函數atoi()有什麼用處,他的頭文件是什麼它在Linux下的Vi編輯器能用嗎
1、atoi (表示 ascii to integer)是把字元串轉換成整型數的一個函數,應用在計算機程序和辦公軟體中。
2、頭文件: #include <stdlib.h>
3、它在Linux下的Vi編輯器能用
int atoi(const char *nptr) 函數會掃描參數 nptr字元串,會跳過前面的空白字元(例如空格,tab縮進)等。如果 nptr不能轉換成 int 或者 nptr為空字元串,那麼將返回 0 。特別注意,該函數要求被轉換的字元串是按十進制數理解的。
(9)linux字元串轉數字擴展閱讀
範例:
1>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer =%d ", str, n);
return 0;
}
執行結果
string = 12345.67 integer = 12345.000000
2>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char a[] = "-100" ;
char b[] = "123" ;
int c ;
c = atoi( a ) + atoi( b ) ;
printf("c = %d ", c) ;
return 0;
}
執行結果
c = 23
參考資料來源:網路—atoi()
J. linux awk字元和數字怎麼比較大小
#因為比較運算符可以對字元串進行處理,於是不會把字元轉為數字
awk'BEGIN{print("a">"1")("a">1)("1"==1)("123">90)(123>90)(0+"123">90)("123"+0>90)("123"+"0">90)}'
執行結果:11101111
#而數學運算符只對數字進行運算,所以會把字元轉為數字,因此可以用+0來做字元轉數字操作
awk'BEGIN{printprint"123"+"0"}'
執行結果:123
awk'BEGIN{print"123"+"abc"}'
執行結果:123