gpt4 book ai didi

c - 如何从文件中读取数字字符串并将它们放入数组中?

转载 作者:行者123 更新时间:2023-11-30 14:26:21 25 4
gpt4 key购买 nike

如何将文本文件中的所有数字保存到数组中?例如:

My name is Henry, I am 19 years old. I was born in 1992. 5ro2k.

程序应从文件中读取数字 19, 1992, 5, 2 并将它们保存在数组中。如果单词是 52rok 那么它应该读作数字 52。

最佳答案

一种方法是将除数字之外的所有字符替换为空格,并使用 strtok 对结果字符串进行标记。

这是一个肮脏的伪代码示例,您可以修改它以满足您的需要:

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

int main() {
char s[] = "My name is Henry, I am 19 years old. I was born in 1992. 5ro2k.";
char *p = s;
while (*p) {
if (!isdigit(*p)) {
*p = ' ';
}
p++;
}
p = strtok(s, " ");
while (p) {
printf("%s\n", p);
p = strtok(NULL, " ");
}
}

使这个示例变得肮脏的主要原因是使用了 strtok,它不是线程安全的。您应该使用 strtok_r 来代替。当然,您需要自己解析字符串中的整数(atoi 是一个不错的选择)。

关于c - 如何从文件中读取数字字符串并将它们放入数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237805/

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