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;
}
<>嗨,百度知道
运行程序后在当前目录下生成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>"),如果为真,取后面的字符串。再放入数组就容易了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯