gpt4 book ai didi

c - 解析时忽略文件中的字符

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

我需要解析一个文本文件并处理数据。有效数据通常由带有 TS 的时间戳后跟 10 个数字 (TS1040501134) 或带有字母表后跟九个数字 (A098098098) 的值表示...所以它就像 TS1040501134A111111111B222222222...... ....TS1020304050A000000000.......

但是也有没有数据时会出现填充0的情况。所以,这样的情况可能是

00000000000000000000TS1040501134A111111111B2222222220000000000TS1020304050A000000000........`

现在我们可以看到我需要忽略这些零。我该怎么做?我正在使用 gnu C。

最佳答案

我第一次尝试“C”,比如大约 20 年......所以接下来的内容充其量只是伪代码!

读入一行文本,然后...

char timestamp[11]; timestamp[10] = '\0';    
char number[10]; number[9] = '\0';

for (i = 0 ; i < strlen(text); ) {
if isAlpha(text[i]) {
if text[i] == 'T' & text[i+1] == 'S' {
memcpy(timestamp, text[i+2], 10)
/* do whatever you do with a timestamp */
i += 12 /* Skip over timestamp */
} else {
memcpy(number, text[i+1], 9)
/* do whatever you do with a number */
i += 10 /* Skip over number */
}
} else {
if text[i] != '0' {
/* handle the error - should not get here */
}
i++ /* move to next character */
}

如果行不必包含完整的字符串(例如,一行以 TS10405 结尾并且下一行以 01134 开头),您将必须编写额外的代码来管理正确刷新 text 缓冲区。

关于c - 解析时忽略文件中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2668495/

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