我有一个C++代码片段:简单的C程序 - 帮助需要
#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)
{
char *end = strrchr(pos, '<');
if (end)
*end = '\0';
fputs(pos+1, stdout);
}
return 0;
}
}
虽然使用它修整文本文件时,它只有1号线工程如它只修剪1行。
如果我尝试修剪多行,例如文件中有30行,它只能修整一行。我很困惑,任何帮助将不胜感激。
示例文本文件:
report2011510222820.html: <td width="60%" bgcolor="#ffffff" class="tablebody" valign="top">C:\Users\Admin\mon.bat</td>
report2011510222820.html: <td width="60%" bgcolor="#ffffff" class="tablebody" valign="top">C:\test123.bat</td>
输出:
C:\Users\Admin\mon.bat
预期输出:
C:\Users\Admin\mon.bat
C:\test123.bat
抱歉,但是这是不是** ** C++,更改标记为C,或者在C++中真正做到这一点 – Nim 2011-05-11 09:36:06
不,你有一个C代码片段。 :)如果你真的告诉人们你正在使用什么语言,你通常可以得到更好的答案。只要你正在编写C代码,就可以标记问题'[c]',并且询问C.如果你假装它是C++,那么你将主要得到很多答案,告诉你应该如何重写你的代码C++ – jalf 2011-05-11 09:37:39
@Nim:使用C的IO东西而不是流是没有错的。 – Mario 2011-05-11 09:38:57