當前位置:首頁 » 編程語言 » c語言split字元串
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言split字元串

發布時間: 2022-10-15 05:16:25

A. (不使用庫函數)實現字元串拆分函數strsplit(str1,c,str[])。求c語言代碼

#include"stdafx.h"

#include<string.h>

chara[10]="abcdefg";

intmain(intargc,char*argv[])

{

voidstrsplit(char*,int,char*);

char*str1=a;

char*str2=newchar;

*str2=NULL;

intc=3;

printf("源字元串str1=%s ",str1);

inta=strlen(str1);

strsplit(str1,c,str2);

printf("str1=%s str2=%s ",str1,str2);

str2=NULL;

delete[]str2;

return0;

}

voidstrsplit(char*str1,intc,char*str2)

{

char*tmp=str1+c;

for(inti=c;i<strlen(str1);i++)

{

*str2=*tmp;

*str2++;

*tmp++;

}

*str2++='';

str1+=c;

*str1='';

}

B. C語言如何將文件中一行內容按照空格分割,並將每個單詞寫入數組

程序已調試過,運行的時候把filename改為你自己路徑下的文件。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char str[1000];
void openfile(char *filename)
{
FILE *fp;
int file_size;
if((fp=fopen(filename,"r")) == NULL)
{
printf("can not open this file\n");
exit(0);
}
fseek(fp,0,SEEK_END);
file_size=ftell(fp);
printf("%d\n",file_size);
fseek(fp,0,SEEK_SET);
fread(str,sizeof(char),file_size,fp);
str[file_size-1]='\0';
printf("%s\n",str);
fclose(fp);
}

void Split()
{
char w[100][100];
char *pfirst=str;
char *pend;
int i=0;
int j,sum=0;
memset(w,0,sizeof(w));
while(pfirst)
{
pend=strstr(pfirst," ");
if(pend==NULL)
{
strncpy(w[i],pfirst,strlen(str)-sum);
i++;
break;
}
strncpy(w[i],pfirst,pend-pfirst);
sum+=pend-pfirst+1;
pfirst=++pend;
i++;
}
for(j=0;j<i;j++)
printf("%s ",w[j]);

}
int main()
{
char filename[40]="/opt/opthb/liuly/a.txt";
openfile(filename);
Split();
return 0;
}

C. 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;

(3)c語言split字元串擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

D. 在C語言中strchr 是什麼意思

strchr所在頭文件:#include <string.h>

功能:用來查找某字元在字元串中首次出現的位置。

函數原型:char * strchr (const char *str, int c);

參數說明:str 為要查找的字元串,c 為要查找的字元。

返回值:如果找到指定的字元則返回該字元所在地址,否則返回 NULL。

注意:字元串 str 的結束標志 NUL 也會被納入檢索范圍,所以 str 的組後一個字元也可以被定位。

示例:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(){
char*s="";
char*p;
p=strchr(s,'5');
printf("%ld ",s);
printf("%ld ",p);
system("pause");
return0;
}

E. C語言中有沒有類似java的split方法的函數

有的,在string庫文件中有char *strtok( char *str1, const char *str2 );應用方法如下,

#include<stdio.h>
#include <string.h>
//程序功能用"&"作為分隔符,結果輸出「今天是」、「2015年」、「6月」、「8日」、「星期一」
int main()
{
char str[] = "今天是&2015年&6月&8日&星期一";
char str0[] = "&";
char *result = NULL;
result = strtok( str, str0);
while( result != NULL ) {
printf( "\"%s\"\n", result );
result = strtok( NULL, str0 );
}

return 0;
}

char *strtok( char *str1, const char *str2 );函數返回字元串str1中緊靠著「分隔符str2」的部分的指針,字元串str2作為標記分隔符。如果標記分隔符沒有找到,函數返回NULL。

F. 用c語言拆分string

4部分,是要拆分成abc 123456 def 1 這4個部分? 利用strtok 函數來拆分。

以空格為分隔符號
例如
#include <stdio.h>
#include <string.h>

int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
結果是
Splitting string "- This, a sample string." into tokens:
This
a
sample
string

函數參考地址 http://www.cplusplus.com/reference/cstring/strtok/

G. C語言中字元切割函數split的實現

#include<stdio.h>
#include<string.h>

//將str字元以spl分割,存於dst中,並返回子字元串數量
intsplit(chardst[][80],char*str,constchar*spl)
{
intn=0;
char*result=NULL;
result=strtok(str,spl);
while(result!=NULL)
{
strcpy(dst[n++],result);
result=strtok(NULL,spl);
}
returnn;
}

intmain()
{
charstr[]="whatisyouname?";
chardst[10][80];
intcnt=split(dst,str,"");
for(inti=0;i<cnt;i++)
puts(dst[i]);
return0;
}

H. C語言split分割字元串。

//以下解法的前提是,先把所有環變成1.無環路,2.一個環沒有扣住3個及以上的其他環
voidmain(){
intarray[16]={0};
//init,array[1]=xxx;根據輸入初始化數組,如1-2,則,array[1]=2,...
intHashArray[16]={0};
inthead,tail;
inthead_tmp,tail_tmp;
getNextList(array,HashArray,head,tail);

while(getNextList(array,HashArray,head_tmp,tail_tmp))
{
array[tail]=head_tmp;
tail=tail_tmp;
}
//此時的array數組裡面應該是一條鏈了
}

getNextList(intarray[],intHasharray,int&head,int&tail)
{
inthead_tmp=1;
while(Hasharray[head_tmp++]!=0);
if(head_tmp==16)
returnfalse;
else
{
head=tail=head_tmp-1;
while(array[tail]!=0)
{
Hasharray[tail]=1;
tail++;
}
Hasharray[tail]=1;
returntrue;
}
}

I. 求問這個C語言咋寫!用vector

這個給你個思路就是讀去string裡面的內容,找不到不是A~Z且不是a~z且不是0~9的就作為分隔符。然後記住這分隔符,繼續往下找。~~~就拆分開了北

J. 有五個學生,每個學生有三門課的成績,從鍵盤上輸入學生的學號,姓名,三門課成績,把它們存放到磁碟中

示例:

import java.util.Scanner;

class Test50 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

//定義學生類數組,裡面存放五個學生的信息

Student[] stus = new Student[5];

System.out.println("請輸入5個學生的信息:");

for(int i=0;i<stus.length;i++){

String str = sc.nextLine();

//001 張三 78 88 90輸入以空格分隔

//利用String類中的split方法將字元串分割成字元串數組

String[] strs = str.split(" ");//strs[0],strs[1]...

//創建學生對象

Student stu = new Student();

stu.sid = strs[0];

stu.name = strs[1];

//利用Integer.ParseInt()方法,將字元串轉換為整型

stu.chineseGrade =Integer.parseInt(strs[2]);

stu.mathGrade = Integer.parseInt(strs[3]);

stu.englishGrade = Integer.parseInt(strs[4]);

stu.averageGrade = (stu.chineseGrade+stu.mathGrade+stu.englishGrade)/3;

//將每次創建的學生對象賦值給學生數組

stus[i] = stu;

}

for(int i=0;i<stus.length;i++){

System.out.println("學號:"+stus[i].sid+",姓名:"+stus[i].name+",語文:"+stus[i].chineseGrade+",數學:"+stus[i].mathGrade+",英語:"+stus[i].englishGrade+",平均成績:"+stus[i].averageGrade);

}

}

}

//定義一個Student類

class Student{

String sid;

String name;

int chineseGrade;

int mathGrade;

int englishGrade;

int averageGrade;

}

(10)c語言split字元串擴展閱讀

缺點:

1、C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。

2、C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設計更熟練一些。