gpt4 book ai didi

c - 如何像 php 中的 substr 一样使用定界符(空格)分割字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:45 25 4
gpt4 key购买 nike

这是我的 Mystr 值:

others:0.01 penalty:0.02 pdi:0.03 pdp:0.04 interest:0.05 principal:0.06 cbu:0.07 savings:0.08 bankcharge:0.09 grt:0.10

我想要的输出:

others:0.01

penalty:0.02

pdi:0.03

pdp:0.04

interest:0.05

principal:0.06

cbu:0.07

savings:0.08

bankcharge:0.09

grt:0.10

我希望将其分配给不同的变量。我该怎么做?

最佳答案

C 中的工具是 strtok( GNU Manual , SUS V2 Spec )。您第一次使用字符串和定界符集调用 strtok。然后,对于后续部分,使用 NULL 和定界符集调用 strtok,它将继续从停止的地方搜索。

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

int main(void) {
char x[] = "others:0.01 penalty:0.02 pdi:0.03 pdp:0.04 interest:0.05 principal:0.06 cbu:0.07 savings:0.08 bankcharge:0.09 grt:0.10";
char toPrint[sizeof(x) * 2];
char *a;

strcpy(toPrint,strtok(x," "));
strcat(toPrint,"\n");

while ((a=strtok(NULL," ")) != NULL) {
strcat(toPrint,a);
strcat(toPrint,"\n");
}
fputs(toPrint,stdout);
}

打印

others:0.01
penalty:0.02
pdi:0.03
pdp:0.04
interest:0.05
principal:0.06
cbu:0.07
savings:0.08
bankcharge:0.09
grt:0.10

请注意,strtok 修改了原始数组。在程序结束时,x 数组包含"1\02\03\04"。所有定界符都被零覆盖。另请注意,字符串中的两个连续分隔符将导致 strtok 为(缺失的)值生成一个空字符串 ""

关于c - 如何像 php 中的 substr 一样使用定界符(空格)分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15872903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com