1

外部ファイルを開き、そのファイルの行を出力するコードを書き込もうとしていますが、取得し続けます

行 7: 警告: 組み込み関数 'exit' の暗黙の宣言に互換性がありません

15 行目: エラー: '%' トークンの前に式が必要です

このコードをコンパイルしようとすると:

#include <stdio.h>
#include <assert.h>

main(int argc, char *argv[]){
    if (argc != 2){
        fprintf(stderr, "usage: strgen <file>\n");
        exit(1);
    }
    char *infile = argv[1];
    FILE *fp = fopen(infile, "r");
    assert(fp != NULL);
    char buffer[50];
    while( fgets( buffer, 50, fp) != NULL){
        printf("%d\n",buffer);
        printf(%s\n, buffer);
    }
    fclose(fp);
    return(0);
}
4

3 に答える 3

5

2 つの問題:

  1. #include <stdlib.h>の宣言を取得する必要があります。exit()
  2. %s\n2 番目のprintf()ステートメントの前後に引用符が必要です
于 2013-09-25T03:03:18.613 に答える
0

ヘッダーファイルを含める必要があります

    #include <stdlib.h>
于 2013-09-25T03:01:47.350 に答える
0

コードを正しくフォーマットすると役立ちます。のprintf周りに引用符がない%s\nため、エラーが発生します。

于 2013-09-25T03:03:11.747 に答える