C语言读取中间字符然后分割成数组

作者&投稿:樊秋 (若有异议请与网页底部的电邮联系)
c语言,怎么把这样一个字符串"01111100"分割成数组~

本来就可以把它当成数组呀, 数组长度是strlen("01111100") 也就是8 .
假如这个字符串的名叫str, 可能通过str[0] ...str[7] 来访问这8个元素.

不知道你要问的是不是这个意思。

#include #include #include int main(void){FILE *fp = NULL;char buf[1024] = {0};char *p = buf;fp = fopen("./tt", "r+");//注:当前目录下的tt文件已存在if(NULL == fp){return 0;}fseek(fp, 0, SEEK_SET);while(1 == fscanf(fp, "%s", p)){p = buf + strlen(buf);*p++ = '$';}printf("%s ", buf);printf("
");fclose(fp);return 0;}

//下面定义的num数组空间只有100,根据情况来调整,保证够用,或者动态分配内存。str是要输入的字符串,可以从文件中读入,下面主要是演示字符串的分隔转换。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
char *tmp, *pstr, str[] = "READ123|456|789**";//读到的字符串
int num[100], len = 0;
char *token;
//校验READ并跳过READ
pstr = strstr(str, "READ");
if (pstr != str)
{
printf("data error!");
return;
}
pstr += 4;
//校验结尾的**并去掉后面的**
tmp = strstr(pstr, "**");
if (!tmp||strlen(tmp)!=2)
{
printf("data error!");
return;
}
*tmp = 0;
token = strtok(pstr, "|");
while (token)
{
num[len++] = atol(token);
token = strtok(NULL, "|");
}
//运行到这里,全部转换并保存在num数组,有效长度为len的值。
for(int i=0; i<len; i++)
{
printf("num[%d]=%d\n", i, num[i]);
}
}


求教c语言怎么将字符串指定字符后面的数字提取,然后放入其他字符串?
情况1:输出数组字符串,字符串输出遇见'\\0',表示结束 情况2:按照单个字节打印,

...VB或VB.net中读取一个文件,然后把指定两个字符串之间的内容转储到另...
给你一个实用的VB.net版本吧 on error resume next '需要有这句话, 第三句可能产生异常, 有了这句可以顺利进入下一条 Dim StrInfo as String '接收信息的字符串 Dim ReadStream As New System.IO.StreamReader("a.txt", System.Text.Encoding.Default) '建立一个读入流,"a.txt"为你要读入的...

C语言怎么做到从文件中读取一行数据,然后改变这一行内容
while(fgets(c,100,fp)){ \/\/读入每行数据 i--; if(i==0) strcpy(a,c); \/\/读到第三行数据 b[k++]=c[j-1]; \/\/把每行的那列字符拷到b中 } b[k]=0; printf("第%d行数据:%s\\n",i,a); printf("第%d列数据:%s\\n",j,b);...

怎么在C语言中输出字符串列表??
上述代码将从键盘读取一个字符串,该字符串包含用空格分隔的元素。然后,split()函数将字符串拆分为一个列表,并使用int()函数将每个元素转换为整数类型。最终,将得到一个整数列表,存储在名为my_list的变量中。如果您想输入一个字符串列表,而不是整数列表,可以省略int()函数,并直接使用以下代码:...

java将byte数组中的中间一部分值取出来怎么做啊?
如果以这种方式存储,那么一定是定长字符串,byte[]是以字节来存储的,你直接取规则的长度就行了啊 如下:byte[] b = new byte[10];b[0]='a';b[1]='b';b[2]='c';b[3]='d';String a = new String(b,0,2);用你的例子来说:比如你的标志是5位的,编号12位,日期20位,测量值...

输入n行字符串,如何只读取这一行字符串的第一个字符,然后马上读取下一行...
include"stdio.h"include"stdlib.h"define N 6 define M 101 main(){ char *s[N];int i,j;for(i=0;i<N;i++)s[i]=(char*)malloc(M);printf("请输入%d个字符串,每个字符串至多%d个字符:\\n",N,M-1);for(i=0;i<N;i++)gets(s[i]);for(i=0;i<N;i++){ printf("第%d...

gets在哪个库
gets函数在stdio库中。gets函数是C语言中的一个标准输入函数,用于从标准输入流读取字符串,直到遇到换行符或EOF。这个函数定义在stdio库中,因此使用gets函数需要包含stdio.h头文件。虽然gets函数曾广泛用于从终端读取字符串,但由于其不检查缓冲区边界,可能会导致缓冲区溢出和安全风险,所以在某些版本的...

c语言读取文件然后保存到数组中
1,文件里的数据是不同类型的,既有字符类型的,也有整型的。2,遇到这种情况,可以按照字符串类型定义数组。例如,char s[100][4];3,编写程序时,一个一个字符读取,遇到空格就完成了一个数据读取。遇到换行,就换到下一行。这道题目的关键是把数据类型当作字符串类型处理。你看下面的程序中,把...

c语言 怎样用文件中读取数据 然后进行计算
fgets会把数字当做字符串读入,你在程序中把字符串转换为数字就可以进行计算

c语言中如何从一个字符串中查询是否有给定的关键词!
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。包含文件:string.h函数名: strstr函数原型: extern char *strstr(char *str1, const char *str2);语法:strstr(str1,str2)st...

太和区15181435950: c语言 文件读取 字符 到一个字符数组 -
化彪安迪: #include <stdio.h> int main() { char p[10240] ; //数组空间要足够大,超过文件中的字符数才可以 FILE *fp ; fp=fopen("text.txt" , "r");//文件名自己改一下 if ( fp ) { int i=0; int ch=0; while( !feof(fp) ) { ch=fgetc(fp); if ( ch==EOF ) break ; p[i]=ch ; i++; } p[i]=0;//串结束符. fclose(fp); } return 0; }

太和区15181435950: 请问怎么用c语言从一段不规则字符串中把两个引号之间的字符读取到一个数组里 -
化彪安迪: 调用 sscanf() 即可.读法:跳过第一个引号以前的字符,读下面字符,直到下一个引号前为止.#include <stdio.h> int main() { char s[100]="abdc12\"3456 xyz-%%\"%ABe"; char s2[100]; int i; sscanf(s,"%*[^\"]\"%[^\"]",s2); // 关键的...

太和区15181435950: 怎么样把一个字符串分割成单个字符数组 -
化彪安迪: 不需要专门分割,C语言里面本来就是抄用字符数组来保存的,如:袭char a[20]="Hello world!";这个字符串,char[0]就是H,char[1]就是e. 如果要分割子串,可以使用strtok函数. char *strtok(char *s, char *delim); 分解2113字符串为一组字符串.s为要分解的字符串,delim为分隔5261符字符串. 首次调用时,s指向要分解的字符串,之后再次调用要把s设成4102NULL. strtok在1653s中查找包含在delim中的字符并用NULL('')来替换,直到找遍整个字符串.

太和区15181435950: C语言如何从文档中读取字符赋值到数组中?详细如下
化彪安迪: 这个是JAVA代码 思路应该一样 import java.io.*;//导入操作要用到的类 File file=new File("c:/test.txt");//源文件位置 FileReader fr=new FileReader(file);//创建文件输入流 BufferedReader in=new BufferedReader(fr);//包装文件输入流,可整行读取 String line; String[] str; int i=0; while((line=in.readLine()) != null) { //循环里逐行读取到字符串line str[i]=line; i++; }

太和区15181435950: C语言怎么把输入的字符分成每三个一组,然后取三个 -
化彪安迪: 二话不说,先看代码: #include #include int main() { int i; int k; int len; int st = 0; char ch[100]; char str[30][3]; //以上定义所需变量 gets(ch); len = strlen(ch); for (i = 0, k = 0; i < len; i++) {if (k < 3){str[st][k] = ch[i];k++;}else{st++;k = ...

太和区15181435950: C语言有没有把字符串拆分为数组的函数? -
化彪安迪: 用strtok函数实现吧.void split( char **arr, char *str, const char *del)//字符分割函数的简单定义和实现 { char *s =NULL;s=strtok(str,del); while(s != NULL) { *arr++ = s; s = strtok(NULL,del); } } int main() { int i; char *myArray[4]; char s[] = "张三$|男$|...

太和区15181435950: C语言输入一个字符串,然后分割成三个,规则入内 -
化彪安迪: int main() { char buf[];//buf为你的带空格的字符串 char arr1[]; //以下为分别用以存储的字符数组 char arr2[]; . . . int i = 0; int counts = 1; //循环计数 char*p =& buf[0]; //读指针 while(*p!='\0') { if(' '==*p) { p++; continue; } else { switch(counts) { case:1 ...

太和区15181435950: c语言文件读取字符到一个字符数组
化彪安迪: char a[5]='ab',b[5]; for(int i=0;a[i]!='\0';i++) b[i]=a[i]; b[i]='\0'; 将a数组的字符串读取到b数组

太和区15181435950: C语言 写一个把一个字符串分成若干个数组 -
化彪安迪: #include char **lengthSplit(const char *s, int n,int *m) { int i,j; char **lens; if(strlen(s)%n == 0) *m = strlen(s)/n; else *m = strlen(s)/n + 1; lens = (char **)malloc(*m); for(i = 0; ilens[i] = (char *)malloc(n + 1);for(i = 0; ifor(j = 0; jlens[i][j] = s[j + i * n]; lens[i]...

太和区15181435950: C语言如何从一个文件中读取字符,并把字符赋值给数组.fscanf()函数可以做到吗? -
化彪安迪: fscanf(fp,"%c",&str[i]); 或者str[i]=fgetc(fp);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网