这是我的代码
#include <stdio.h>
int main()
{
FILE *ptr_file, *wr_file;
int count = 0, i, count2 = 0, j, count3 = 0;
char string[200];
char text[200];
ptr_file =fopen("input.txt","r");
if (!ptr_file)
return 1;
while (fgets(string,1000, ptr_file)!=NULL)
{
while (string[count] != '>')
{
count++;
}
}
for (i = 0; i <= count; i++)
{
text[i] = string[i];
}
while (string[count2] != ')') //I cant put '\n' in here as end of line, so I use ')' instead
{
count2++;
}
for (j = count; j <= count2; j++)
{
text[j] = string[j];
}
printf("text: %s\n", text);
return(0);
}
这段代码是我一直在研究的程序的一部分,我只是裁掉了有问题的代码。因此,2个计数(count和count2)。
因此,代码应该读取input.txt然后打印第一行。
input.txt包含:
1. 1-KU1071=B 2-KI1201=B 57 ==> 3-FI1101=B 56 conf:(0.98)
carrotcake
eggjuice
当我运行代码时,结果是:
eggjuice
为什么要打印文本的最后一行?如何修复以便只打印第一行。
我甚至尝试过使用strncopy
strncpy(text, &string[0], j);
但结果仍然相同。
PS:这就是为什么我将字符串分成两部分的原因,在&#39;&gt;&#39;之前在&#39;&gt;&#39;之后。所以,我无法改变它。