0

了解しました。1日とスタックオーバーフローを少し行った後、このサイトにいると便利だとわかりました:)プログラムを動作させることになりました。コマンドラインで無制限の量のテキストファイルを取得して表示することもできます。したがって、次のようになります。


CMDコンソール

c:\ Users \ Username \ Desktop> wrapfile.exehello.txthow.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 / ANSIC1989標準です。

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 に答える