我有这样一个文件:
...
words 13
more words 21
even more words 4
...
Run Code Online (Sandbox Code Playgroud)
(一般格式是一个非数字字符串,然后是一个空格,然后是任意数量的数字和一个换行符)
我想解析每一行,将单词放入结构的一个字段中,将数字放入另一个字段中.现在我正在使用一个难看的黑客读取线,而字符不是数字,然后阅读其余的.我相信有一个更清晰的方式.
编辑:您可以使用pNum-buf获取字符串的字母部分的长度,并使用strncpy()将其复制到另一个缓冲区.请务必在目标缓冲区的末尾添加"\ 0".我会在pNum ++之前插入这段代码.
int len = pNum-buf;
strncpy(newBuf, buf, len-1);
newBuf[len] = '\0';
Run Code Online (Sandbox Code Playgroud)
您可以将整行读入缓冲区然后使用:
char *pNum;
if (pNum = strrchr(buf, ' ')) {
pNum++;
}
Run Code Online (Sandbox Code Playgroud)
获取指向数字字段的指针.