如何从输入文本中复制一行

时间:2014-10-21 11:07:12

标签: c text input copy line

这是我的代码

#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;之后。所以,我无法改变它。

0 个答案:

没有答案