當前位置:首頁 » 操作系統 » linux數組字元串

linux數組字元串

發布時間: 2022-05-07 17:53:09

㈠ 關於linux C 字元串長度的問題

你原來定義的是char型指針 strlen只能用在字元數組上 兩者有區別的

㈡ linux,shell如何把字元串變成數組

echo $url | cut -d , -f 1
cut是切割命令,-d表示分隔符,這里是逗號,-f表示取第幾個,這里是第一個
注意和數組不一樣,數組是取第0個。

㈢ linux怎麼才能區切字元串然後分別賦值給數組

你好,下面是一個例子。
string="hello,shell,split,test"
array=(${string//,/ })

那個//和/之間是分割的字元。

㈣ 字元串數組:用戶輸入過程中當用戶輸入『.』的時候結束字元數組的輸入

#include <stdio.h>
#include <conio.h>
int main(void)
{
char str[100] = {0};
int i=0;
while(1){
if((str[i]=getche())==':')break;
i++;
}
system("cls");
str[i]=0;
printf("\n%s\n",str);
}

㈤ shell中怎麼將數組轉為字元串

可以使用eval命令。eval命令,如同熟悉的其他腳本語言,會將它的參數做為命令執行。eval命令將會首先掃描命令行進行所有的替換,然後再執行命令。該命令使用於那些一次掃描無法實現其功能的變數。該命令對變數進行兩次掃描。這些需要進行兩次掃描的變數有時候被稱為復雜變數。
命令格式:eval [參數]
補充說明:eval可讀取一連串的參數,然後再依參數本身的特性來執行。參數不限數目,彼此之間用分號分開。
用法示例:
將字元串變數s的值作為命令執行
s="ls"
eval $s

㈥ LINUX中${ name[*]} 表達什麼意思

在linux的shell里,${name}可以表示變數,也可以表示數組。

name後面加〔〕的,一般是數組,
${name[*]}是數組所有元素(all of the elements)
${name[@]}是數組每一個元素(each of the elements)
其實這兩個幾乎一樣,差別主要在於當加上引號時,"${name[*]}"等於所有數組元素及其分隔符(一般是空格)排成的字元串,而"${name[@]}"仍然表示每一個元素。
${#name[*]}是數組元素的個數,也可以寫成${#name[@]}

${name:-Hello} 是指,如果${name}沒有賦值,那麼它等於Hello,如果賦值了,就保持原值,不用管這個Hello了。

至於${name[#*/]},好像沒有這種寫法,可能是你弄錯了。
${name[%%*]}也不存在。不過,如果是${name##*}就有意義了,不過是空值。本來可以給你解釋一下的,但估計說太多就把你弄糊塗了。如果你真的是在看linux的shell的話,可以在網上找advance bash scripting guide,有中文版的。

㈦ linux C 截取字元串放到數組中

在程序當前目錄下建一個txt文件bill.txt,文件內錄入以下內容:

<pay_flowid>CTC4789</pay_flowid>

<>嗨,網路知道<dd>

<he和>hellolinux

運行程序後在當前目錄下生成str.txt文件,可以提取。

程序代碼如下:

#include<stdio.h>

#include<string.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

#defineLEN100/*字元數,可以根據需要自己定義*/

intmain(void)

{

intfd;

longlen,i,flag,j;

charnum[LEN],string[LEN];

fd=open("bill.txt",O_RDWR);

len=read(fd,num,LEN);/*readstringforbill.txt*/

num[len]='';

close(fd);

for(i=0,j=0;i<len;i++)

{

switch(num[i])

{

case'<':

{

flag=1;

break;

}

case'>':

{

flag=2;

break;

}

default:

{

if(flag==2)

{

string[j]=num[i];

j++;

}

}

}

}

string[j]='';

fd=open("str.txt",O_RDWR|O_CREAT,S_IRUSR|S_IWUSR);

if(fd)

{

write(fd,string,j);

close(fd);

}

return0;

}

㈧ 怎麼讀出指定文件夾下的所有文件名並返回字元串數組

1、在linux平台,可採用目錄操作函數,讀取當前目錄下的文件
#include <sys/types.h>
#include <dirent.h> //windows開發工具沒有這個頭文件
#include <unistd.h>
#include <string.h>
main()
{
DIR * dir;
struct dirent * ptr;
char file_list[100][40];
int i=0;
dir = opendir("/etc/rc.d"); //打開一個目錄
while((ptr = readdir(dir)) != NULL) //循環讀取目錄數據
{
printf("d_name : %s\n", ptr->d_name); //輸出文件名
strcpy(file_list[i],ptr->d_name ); //存儲到數組
if ( ++i>=100 ) break;
}
closedir(dir);//關閉目錄指針
}
2、在windows平台下,如VC也有類似的操作函數,如:
#include <string>
#include <iostream>
using namespace std;
#include <WINDOWS.H>
void main()
{
string szPath="d:/*.*";
WIN32_FIND_DATA wfd;
HANDLE hFind;
char file_list[100][40];
int i=0;

hFind = FindFirstFile(szPath.c_str(), &wfd) ;
do
{
cout << wfd.cFileName << endl ;
strcpy(file_list[i],wfd.cFileName ); //存儲到數組
if ( ++i>=100 ) break;
}while (FindNextFile(hFind, &wfd));

FindClose(hFind);
}

㈨ linux中如何在一個數組中的各個字元串後面統一添加一個字母

shell腳本的一個例子,大概的意思應該不差:

#!/bin/sh

echo /dev/sdb > $$.tmp
echo /dev/sdc >> $$.tmp

aa=`cat $$.tmp`

rm -rf $$.tmp2

for a in $aa
do
b="$a"1
echo $b >> $$.tmp2
done

bb=`cat $$.tmp2`
echo $bb

㈩ linux里A=「1 2 3」,$A是個數組嗎!還是一個字元串!

樓主說的應該是shell中的,$A是字元串。
字元串轉數組

str="12 34 56"

arr=($str)

count=${#arr[@]}

for (( i=0;i<count;i=i+1))

do

echo "$i=arr[$i]"

done
http://doudouclever.blog.163.com/blog/static/17511231020127288621354/

熱點內容
華為電腦伺服器系統進不去提示 發布:2024-10-08 00:13:42 瀏覽:490
登錄密碼如何獲取 發布:2024-10-07 23:58:40 瀏覽:424
王者榮耀人機腳本 發布:2024-10-07 23:58:33 瀏覽:807
地標建築腳本 發布:2024-10-07 23:48:51 瀏覽:242
sqlorderby 發布:2024-10-07 23:42:13 瀏覽:958
qq秒源碼 發布:2024-10-07 23:41:37 瀏覽:471
51單片機編譯器 發布:2024-10-07 23:28:04 瀏覽:798
安卓手機陌陌封設備了怎麼搞 發布:2024-10-07 23:17:00 瀏覽:180
sql管理系統代碼 發布:2024-10-07 23:00:51 瀏覽:524
安卓什麼瀏覽器可以打開 發布:2024-10-07 23:00:51 瀏覽:121