gpt4 book ai didi

c - 从C中的char数组中减去一条信息

转载 作者:行者123 更新时间:2023-11-30 15:51:34 25 4
gpt4 key购买 nike

我目前正在编写一段代码,但我不知道如何解决这个问题。我解释一下情况:

这段代码的目标是在 C 中创建一个“动态”矩阵。使用“fgets”我得到一个 char 数组,我的代码将第一行解释为 char 数组。然而,还有更多行,我此时只对第一行感兴趣,所有其他行只包含我需要存储的信息。

我只对第一行感兴趣是因为它包含有关矩阵需要多大才能容纳下面所有信息的信息。信息以某种模式出现,总是以 x,y 的形式出现。 x 和 y 彼此不受约束,x 可以比 y 小或大 10 倍。而且该行信息的位置没有设置,它可以 float 在屏幕的右侧或左侧。

是否有任何形式(例如 java 中的正则表达式)可以用来过滤信息?例如,在第一行中查找“,”,找到后检查“,”的右侧和左侧,一直到第一个空格,并将这两个值存储在变量中。

示例:

[                   14,10            ]

结果将是:

int rowSize = 14;
int columnSize = 10;

最佳答案

为什么不搜索第一个有效的十进制字符?

#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>

char *first_digit(const char *s)
{
while (!isdigit(*s)) s++;
return s;
}


int main()
{
const char *line = "[ 14, 10 ]";
int n, k;

const char *first = first_digit(line);
const char *end;
n = strtol(first, &end, 10);

const char *second = first_digit(end);
k = strtol(second, NULL, 10);

printf("n, k = %d, %d\n", n, k);
return 0;
}

关于c - 从C中的char数组中减去一条信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035180/

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