gpt4 book ai didi

c - 删除文本文件中的一行 (Windows)

转载 作者:行者123 更新时间:2023-11-30 18:05:57 25 4
gpt4 key购买 nike

目前,我需要在 txt 文件中删除数百行文件路径,例如

report2011510222820.html:   <td width="60%" bgcolor="#f4f4f4" class="tablebody" valign="top">C:\Users\Administrator\Desktop\calc.exe</td>

如何取出“report2011510222820.html: "和“</td>”,所以我只剩下:

C:\Users\Administrator\Desktop\calc.exe

我当前的代码:

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char s[2048];
while (fgets(s, sizeof(s), stdin))
{
char *pos = strpbrk(s, "|\r\n");
if (pos != 0)
fputs(pos+1, stdout);
}
return 0;
}

最佳答案

为了让您发布的代码适用于给定的示例,可以进行以下更改。

更改 strpbrk 调用以检查尖括号而不是竖线(不确定这是否只是操作代码中的拼写错误):

  char *pos = strpbrk(s, ">\r\n");

然后将 if (pos != 0 ) 语句更改为以下内容。它在下一个尖括号处截断字符串的末尾。

  if (pos != 0)
{
char *end = strrchr( pos, '<' );
if ( end )
*end = '\0';
printf("%s\n", pos + 1);
}

不过,结果相当脆弱。但根据输入和所需用途,也许没问题。

关于c - 删除文本文件中的一行 (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5957498/

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