VisualStadioで、C言語の勉強しています。
C言語でテキスト指定とテキストの内容の表示を行いたいのですが、うまくできません。
その上でいくつか質問があります。
1、※1のコードに関してパスの指定がされていないのに、実行結果できちんと「test.txt」と表示されたのはなぜなのか。(調査上、実行している場所は○○.exe上だと思うのですが、そこには対象のテキストが存在しないのに、正常に表示された事が不思議)
2、※2に関して、多分原因はここではないかと予想していますが、関数の使い方に間違いはないかと思っているでのすが、他に修正の方法が分かりません。
ソースコードは以下の通りです。
#include <stdio.h>
#include <stdlib.h>
#define N 256 // 1行の最大文字数(バイト数)
int main(void) {
FILE* fp; // FILE型構造体
char fname[] = "test.txt";
char str[N];
errno_t err; err = fopen_s(&fp,"test.txt", "r"); ※1 // ファイルを開く。失敗するとNULLを返す。 if (fp == NULL) { printf("%s file not open!\n", fname); return -1; } while (fgets(str, N, fp) != NULL) { ※2 printf("%s", str); } fclose(fp); // ファイルを閉じる return 0;
}
test.txtの内容には、「あいうえお」と記載しております。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/03 00:30