用C语言打印数字行

用C语言打印数字行,c,numbers,lines,C,Numbers,Lines,我尝试读取一个文件,然后用它们打印数字行。但我不知道如何在同一时间打印lorem ipsum。因为我对C语言中的打印函数不太了解 这是我的密码: #include <stdio.h> #include <stdlib.h> main(){ int c; int b=1; //int a[5000]; Shall I use this or any ideas without them? FILE *xfile; xfile = fopen("loremipsum.tx

我尝试读取一个文件,然后用它们打印数字行。但我不知道如何在同一时间打印lorem ipsum。因为我对C语言中的打印函数不太了解

这是我的密码:

#include <stdio.h>
#include <stdlib.h>
main(){

int c;
int b=1;
//int a[5000]; Shall I use this or any ideas without them?

FILE *xfile;
xfile = fopen("loremipsum.txt", "r"); 

while((c=getc(xfile)) != EOF){
if(c == '\n'){
printf("%d\n", b); /*STUCK IN THERE... HOW TO PRINT LOREM IPSUM WITH NUMBER LINES?*/
//putchar(a);   
b++;
}
}

}
#包括
#包括
main(){
INTC;
int b=1;
//int a[5000];我应该使用这个还是没有它们的任何想法?
文件*xfile;
xfile=fopen(“loremipsum.txt”、“r”);
而((c=getc(xfile))!=EOF){
如果(c=='\n'){
printf(“%d\n”,b);/*卡在那里…如何用数字行打印LOREM IPSUM*/
//putchar(a);
b++;
}
}
}
我的知识产权:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam non risus consectetur aliquet sed rhoncus purus. Fusce vitae lorem a dui elementum condimentum id id odio. Quisque eu felis eu diam facilisis mollis sit amet id augue. Duis lacinia velit et lorem ullamcorper iaculis. Duis malesuada lacus quis quam congue nec euismod ante condimentum. Donec dignissim augue vitae nulla dapibus vehicula. Lorem ipsum dolor sit amet,是一位杰出的献身者。 不要因为你的身体不舒服而感到痛苦。 这是一种调味品。 这是一个很好的例子。 这是一个很好的例子。 在调味品之前,你需要一杯酒。 不要让你的尊严成为你的生命。 我想要的是:

1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 2. Donec vitae quam non risus consectetur aliquet sed rhoncus purus. 3. Fusce vitae lorem a dui elementum condimentum id id odio. 4. Quisque eu felis eu diam facilisis mollis sit amet id augue. 5. Duis lacinia velit et lorem ullamcorper iaculis. 6. Duis malesuada lacus quis quam congue nec euismod ante condimentum. 7. Donec dignissim augue vitae nulla dapibus vehicula. 1.Lorem ipsum dolor sit amet,是一位杰出的献身者。 2.不要因为你的身体不舒服而感到痛苦。 3.这是一种调味品。 4.这是一个很好的例子。 5.这是一个很好的例子。 6.在调味品之前,你需要一杯酒。 7.不要让你的尊严成为你的生命。
使用
fgets
获取整行而不是一次读取一个字符,怎么样

char input[256];
int line = 1;

while (fgets(input, sizeof(input), xfile) != NULL)
{
    printf("%2d. %s", line++, input);
}

使用
fgets
获取整行而不是一次读取一个字符,怎么样

char input[256];
int line = 1;

while (fgets(input, sizeof(input), xfile) != NULL)
{
    printf("%2d. %s", line++, input);
}

虽然保留变量中的最后一个字符可能很有用,但是您有一个好方法

int c;
int b = 1;
int prec = '\n';

while ((c = getc (xfile)) != EOF) {
        if (prec == '\n')
                printf ("%d. ", b++);

        putchar (c);
        prec = c;
}

虽然保留变量中的最后一个字符可能很有用,但是您有一个好方法

int c;
int b = 1;
int prec = '\n';

while ((c = getc (xfile)) != EOF) {
        if (prec == '\n')
                printf ("%d. ", b++);

        putchar (c);
        prec = c;
}

只要确保文件中的行不长于输入,否则可能会得到错误的结果。只要确保文件中的行不长于输入,否则可能会得到错误的结果。这确实是一个很好的答案,因为它处理以
\n
@cnicutar结尾的文件。对于OP,我想打印最后一个
\n
,这样他就知道了差别。基里连科的回答很好。但你的回答也很好。我选了你。@GrijeshChauhan谢谢,我很感激,但我已经被限制了一天,我的回答并没有给线程添加任何内容。这确实是一个很好的回答,因为it处理程序文件以
\n
@cnicutar结尾。对于OP,我想打印最后一个
\n
,所以他知道了区别。基里连科的回答很好。但是你的回答也很好,我投了你的票。@GrijeshChauhan谢谢,我很感激,但我已经被限制了一天,我的回答并没有真正增加任何内容。