0

好的,所以在使用 stackoverflow 一天之后,我了解到在这个站点上是很有用的 :) 我最终让我的程序正常工作。我可以在命令行中获取无限数量的文本文件并显示它们!所以它看起来像这样:


CMD 控制台

c:\Users\Username\Desktop> wrapfile.exe hello.txt how.txt。are.txt you.txt random.txt

你好,你今天好吗?我希望你做得很好。这只是一个测试,看看我能在屏幕上放多少。


现在,我想建立在这个程序上。我将如何让这个新发现的文本环绕?就像,如果你想做到这一点,每 40 个字符左右,文本就会跳到下一行……我们怎么能做这样的事情?

再次感谢!

这是我正在使用的代码:

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char **argv)
{

    int l = 1;
        while(l != argc)
{
        FILE *fp; // declaring variable


        fp = fopen(argv[l], "rb");
        l++;


    if (fp != NULL) // checks the return value from fopen
    {
        int i = 1;
        do
        {
            i = fgetc(fp);     // scans the file 
            printf("%c",i);
            printf(" ");
        }
        while(i!=-1);
        fclose(fp);
    }
    else
    {
        printf("Error.\n");
    }
}


}
4

1 回答 1

0

好的,我们开始...这看起来与您的有点不同,但这是 ISO/ANSI C 1989 标准。

int main(int argc, char **argv)
{
     FILE *fd = NULL;
     char linebuf[40];
     int arg = 1;

     while (arg < argc) {
         fd = fopen(argv[arg], "r");
         if (NULL != fd) {
              /* fgets(char *buf, size_t buflen, FILE *fd): returns NULL on error. */
              while (NULL != fgets(linebuf, sizeof(linebuf), fd)) {
                  printf("%s\n", linebuf);
              }
              fclose(fd);
         } else {
              fprintf(stderr, "Cannot open \"%s\"\n", argv[arg]);
         }
         ++arg;
     }
 }
于 2012-12-07T03:35:10.240 回答