私はfwrite
を使ってデータを保存しましたが、今はfread
を使って処理するためにtxtファイルからデータを読み込もうとしています。私は値を個別に読んでみたいですが、あなたがそれをどうやって行うのか分かりません。これは、私が試したものです:freadを使用してファイル値を値で読み取るにはどうすればよいですか?
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * pFile;
long lSize;
unsigned short * buffer;
size_t result;
pFile = fopen ("myfile.txt" , "rb");
// obtain file size:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);
// allocate memory to contain the whole file:
buffer = (unsigned short *) malloc (sizeof(unsigned short)*lSize);
// copy the file into the buffer:
result = fread (buffer,1,lSize,pFile);
printf("%uz\n", result);
// terminate
fclose (pFile);
free (buffer);
return 0;
}
上記のプログラムは、罰金コンパイルが、私は./a.out
でそれを実行したとき、私はセグメンテーションフォールトを取得します。私がsudo ./a.out
でそれを走らせるとき、私はseg faultを取得しませんが、何も出力しません。 私はそれを修正するために何ができますか?私が見
は、ここにチェックをいくつかのエラーを行い読書は、あなたは確かに使用できる1
ずつオブジェクト
fopen( "myfile.txt"、 "rb"); ' –
@πάνταῥεῖ何をwo uldチェックしますか?それはファイルを開くだけです。私がファイル名を正しいものにする限り、正常に動作するはずです。 –
あなたは 'NULL'に対して戻り値をチェックしませんでした! –