当前位置:首页 » 编程语言 » 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语言的人,要求对程序设计更熟练一些。