私はMacBookを使用しています。 私はテキスト編集を使用してファイルを作成し、3と4の数字をスペースで区切って書きました。私はこのファイルを 'mydata'という名前で保存し、 'mydata.rtf'を作成しました。私はこのファイル名を 'mydata.txt'に変更しました。 私はこのファイルを開き、ファイル 'mydata.txt'の中に値を表示するためにこのプログラムを作成しました。 しかし、それは値を印刷しています:a = 446595126、b = 32767ファイルにアクセスするためのプログラムを使用できません。
誰かがこのプログラムが3と4を印刷しない理由を説明してください。 ありがとうございます。
#include<stdio.h>
int main(void)
{
int a, b;
FILE *fptr1;
fptr1 = fopen ("mydata.txt", "r");
if (fptr1 == NULL)
{
printf("FILE mydata.txt did not open\n");
}
else
{
fscanf(fptr1,"%d%d",&a,&b);
printf("a = %d, b = %d\n",a,b);
}
fclose(fptr1);
return 0;
}
.rtfリッチテキスト形式(データに加えて書式設定も含む)ではなくプレーンテキストをサポートするテキストエディタを使用してください。プレーンテキストファイルには書式はなく、改行とスペースのみが含まれています。 – Sampath
https://www.tekrevue.com/tip/textedit-plain-text-mode/ – stefaanv
あなたの問題とは関係ありません:あなたのコードは完全にCで書かれていますが、なぜC++としてタグ付けしましたか? (C++ではファイルを読み込む標準的な方法は 'std :: ifstream'を使用しています) – chtz