㈠ c語言如何實現取字元串的一部分
例子如下:
(1)c語言中如何復制部分字元串擴展閱讀:
字元串或串(String)是由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
㈡ C語言怎麼把字元串中的某一部分提取出來
用JQuery寫
function QueryStr(split) {
split = split.split('.');
var result = split[1];
return result;
}
$(function () {
alert(QueryStr("www..com"));
});
會彈出
用Asp.Net 寫
string url = "www..com";
string[] split = url.Split('.');
string result = split[1];
Label1.Text = result;
(2)c語言中如何復制部分字元串擴展閱讀:
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
㈢ C語言中如何用指針復制字元串
#include <stdio.h>
#include <string.h>
int string(char *str2, char *str1);
int main()
{
char str1[30] = "hello,string copied!\n";
char str2[30];
printf("str2[30]=%d\n", string(str1, str2)); // 你的string函數需要的參數是兩個字元型指針,而數組名本身就可以作指針來使用,&str1[30]指的是字元數組str1中第31(從0開始,這里實際上越界了)個元素的地址
return 0;
}
int string(char *str2, char *str1)
{
printf("str2 is %s\n", str2);
strcpy(str1, str2); // strcpy函數第一個參數是復制後存放的數組,第二個才是要復制的對象
return *str2; // 我不太理解你這個函數想返回什麼,你現在做的是將str2[0]的值以整型返回(h的ASCII碼對應104)
}
如果還有什麼問題可以追問
㈣ C中關於字元串復制的問題
這段代碼運行沒出錯,不代表這個實現方法沒有問題,你也看到了目標串的長度比源串要小。
對於char a[]="I am happy!";這樣的寫法,編譯器會分配一定的內存區域,考慮到存取效率,一般應該是2的n次方這樣的大小,但是具體分配多少?不一定,不同的編譯器可能不同。
在C裡面,指針操作一直是一個高風險的存在。要知道,對於已分配空間的指針操作,編譯器是無法完全檢測到是否越界的,只有在運行時檢測到越界了或者影響了其它變數的值,才有可能知道。
在這里長的字元數組復制給短的字元數組卻沒有出錯,可能是長數組的長度沒有超過編譯器分配的空間,而且這段代碼裡面沒有更多的變數,如果char a[]的長度沒有達到覆蓋 char b[]的程度,就不會表現出來。
總之,對類似這種內存復制,比較保險的做法就是在操作前給被操作的變數分配足夠的空間,把出錯的可能控制在自己手裡,而不是丟給編譯器處理,否則還是有很大的可能覆蓋到其他變數。
㈤ C語言中字元串的復制
要先加入
頭文件
#include
裡面的有個函數可以直接復制字元串
例如:
strcpy(str2,str1)
;
把str1中的字元復制到str2中。
㈥ C語言中如何編寫一個字元串復制函數,並在主函數中調用它。
#include<stdio.h>
char *custom_cpy(char *to,char *from);
int main(int argc,char *argv[]){
char *from = "i like c langanger";
char to[30];
char *ptr = custom_cpy(to,from);
printf("%s,%s ",ptr,to);
return 0;
}
char *custom_cpy(char *to,char *from){
if(to == NULL || from == NULL){
return NULL;
}
char *p = to;
for(;*from!='