永发信息网

linux C 截取字符串放到数组中

答案:4  悬赏:20  手机版
解决时间 2021-12-01 03:43
  • 提问者网友:两耳就是菩提
  • 2021-11-30 23:34
linux C 截取字符串放到数组中
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-12-01 00:39
在程序当前目录下建一个txt文件bill.txt,文件内录入以下内容:
CTC4789
<>嗨,百度知道

 hello linux
运行程序后在当前目录下生成str.txt文件,可以提取。
程序代码如下:
#include 
#include 
#include 
#include 
#include 
#define LEN 100                  
int main(void)
{
 int fd;
 long len,i,flag,j;
 char num[LEN],string[LEN];
 fd = open("bill.txt",O_RDWR);
 len = read(fd,num,LEN);    
 num[len] = '';
 close(fd);
 for(i=0,j=0;i {
  switch(num[i])
  {
   case '<':
   {
    flag=1;
    break;
   }
   case '>':
   {
    flag=2;
    break;
   }
   default:
   {
    if(flag==2)
    {
     string[j]=num[i];
     j++;
    }
   }
  }
 }
 string[j] = '';
 fd = open("str.txt",O_RDWR|O_CREAT,S_IRUSR|S_IWUSR);
 if(fd)
 {
  write(fd,string,j);
  close(fd);
 }
 return 0;
}

全部回答
  • 1楼网友:胯下狙击手
  • 2021-12-01 03:06
222
  • 2楼网友:慢性怪人
  • 2021-12-01 02:56
s[i]是字符,应该用%c,而s+i是指针型数据,与字符串是一个类型,可以用%s。
  • 3楼网友:十年萤火照君眠
  • 2021-12-01 01:46
和楼上的思路差不多,先判断'<'获取当前,然后取index + sizeof("PAY_FLOWID>"),如果为真,取后面的字符串。再放入数组就容易了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯