c語言取字元串
Ⅰ c語言查找字元串
字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「b」,s[9]="j",而字元串的零位正是它的長度,c語言查找字元串方法為:
1、首先,定義一個字元數組變數,可以這么寫。
注意事項:
盡管形式字元串可以有任意(但有限)的長度,實際語言的字元串的長度經常被限制到一個人工極大值。有兩種類型的字元串數據類型: 「定長字元串」,它有固定的極大長度並且不管是否達到了這個極大值都使用同樣數量的內存。
Ⅱ C語言。截取字元串
#include<stdio.h>
#include<string.h>
#include<ctype.h>
voidprint(chars[],intn,intm)
{
intk;
inti;
char*p;
k=strlen(s);
p=s;
for(i=n-1;i<n-1+m;i++)//從第n-1位置開始,截取m個字元
putchar(*(p+i));
printf(" ");
}
voidmain()
{
char*s,str[20];
intm,n;
printf("pleaseinputastring: ");
s=str;
gets(s);
printf("thestringis:");
puts(s);
printf("pleaseinputnandm ");
scanf("%d%d",&n,&m);
print(s,n,m);
}
Ⅲ C語言中如何查找字元串
用strstr這個函數
包含文件:string.h
函數名: strstr
函數原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字元串在str1字元串中第一次出現的位置(不包括str2的串結束符)。
返回值:返回該位置的指針,如找不到,返回空指針。
源代碼:
#include<stdio.h>
#include<string.h>//調用string.h中的strstr函數
void main(){
char ch1[255]="abcde";
char ch2[100]="cd";
char* ch;//用於接受返回值
if((ch=strstr(ch1,ch2))==NULL){//說明沒有要找的字元串
printf("-1\n");
}else{//說明找到了那個字元串
printf("%d\n",ch-ch1+1);//cde的地址減去abcde的地址+1
}
}
Ⅳ c語言字元串提取與合成問題
按要求,將原字元串拆分成兩個字元串分別單獨保存。
思路:
一、兩個指針分別指向數組第一項和第二項,對應偶數項和奇數項,之後指針同時循環+2取值保存在對應數組。
二、拼接字元串直接使用字元串函數strcat。(不想使用庫函數,也可循環賦值)。
#include <stdio.h>
#include <string.h>
#define M 20 //數組最大長度
int splitStr(char str[],char oStr[],char eStr[]);//拆分str到oStr和eStr
int main()
{
char str[M+1],oStr[M+1],eStr[M+1];//str為原字元串,oStr為奇數字元串,eStr為偶數字元串
printf("請輸入一個字元串(最大%d個字元):",M);
scanf("%s",str);
splitStr(str,oStr,eStr);
printf("其中奇數項組成的字元串為:%s ",oStr);
printf("其中偶數項組成的字元串為:%s ",eStr);
strcat(eStr,oStr);//將偶數組和奇數組組合後放在偶數組中
printf("將偶數組和奇數組組合後新數組為%s ",eStr);
return 0;
}
int splitStr(char str[],char oStr[],char eStr[])
{
int i=0,j=0;
char *op=str+1,*ep=str;//op指向奇數項,ep指向偶數項,循環+2取值
while(1)
{
if(*ep==0) break;
if(*ep) eStr[i++]=*ep;
if(*ep && *op) oStr[j++]=*op;
if(*op==0) break;
ep+=2,op+=2;
}
eStr[i]=0,oStr[j]=0;
return 1;
}
Ⅳ C語言如何取一串字元串中的某個字元
C中的字元串就是一個字元數組。
如:
char s[10]="wo shi SB";
char c;
取最左邊的字元,就是c=s[0];
Ⅵ c語言如何截取字元串的一部分
用strncpy函數,函數簽名
char * strncpy(char *dest, const char *src, size_t n);
比如要是從src第2個字元開始截取3個字元,可以用
strncpy(dest, src + 2 - 1, 3);
Ⅶ C語言如何實現取字元串的一部分
例子如下:
(7)c語言取字元串擴展閱讀:
字元串或串(String)是由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
Ⅷ C語言截取指定字元串
可改變數組大小,滿足你可能的輸入狀況。
#include<stdio.h>
int main(){char str[200]; // 假定輸入1行字元串,長度在200以內char s[20][16]; // 假定 用逗號分隔的部分約20個。
每個長度 不超過16字元double d; // 假定數據個數 不超過 20 個int i,j=0,L,n=0;fgets(str,200,stdin)。
// 讀入一行 字元串,含換行符L = strlen(str)。
//計算輸入的字元串長度for (i=0;i<L;i++){s[n][j]=str[i]; j++;if (str[i]==',' || str[i]==' ') {s[n][j-1]='