Recover: 課題
メモリカードに保存されていた画像ファイルを復元する
https://cs50.harvard.edu/x/2021/psets/4/recover/
Recover: 回答例
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main(int argc, char *argv[])
{
if (argc != 2)
{
printf("Usage: ./recover card.raw");
return 1;
}
// Open file for reading
FILE *input_file = fopen(argv[1], "r");
// Input_file pointer fail to open then REturn error code "Could not open file"
if (input_file == NULL)
{
printf("Could not open file");
return 2;
}
// Declare a variable to unsigned char to store 512 chunks array
unsigned char buffer[512];
// For the purpose of counting of image later in the loop
int count_image = 0;
// An uninitialize file pointer to use to output data gotten from input file
FILE *output_file = NULL;
// Allocating memory to filename
char *filename = malloc(8 * sizeof(char));
// Read 512 bytes from input_file and store on the buffer
while (fread(buffer, sizeof(char), 512, input_file))
{
// Check if bytes is start of a JPEG
if (buffer[0] == 0xff && buffer[1] == 0xd8 && buffer[2] == 0xff && (buffer[3] & 0xf0) == 0xe0)
{
// Write jpeg into file name in form 001.jpg, 002.jpg and so on
sprintf(filename, "%03i.jpg", count_image);
// Open Out_file for writing
output_file = fopen(filename, "w");
// Count number of image found
count_image++;
}
// Check if output have been used for valid input
if (output_file != NULL)
{
fwrite(buffer, sizeof(char), 512, output_file);
}
}
free(filename);
fclose(output_file);
fclose(input_file);
return 0;
}
未希 諒
Related posts
About media
Ramps Blog は、ノマドによるノマドのためのブログです。日本、香港、シンガポール、タイ、台湾のノマド生活を通じて見えた景色、特に食、カルチャー、テクノロジー、ビジネス、アート、デザインなどについて発信しています。
Recent Posts
安曇野放牧豚を豪快にバンズに挟んだハンバーガーはスーパーナイス!|三六五+二(367)〈松本十帖〉 https://ramps.jp/restaurant/matsumoto-jujo-367-lunch-super-nice-burger/
絶品。
#ハンバーガー #旅行好きな人と繋がりたい #写真好きな人と繋がりたい #ランチ
「INUA」部門シェフによる宿泊客限定の朝食|三六五+二(367)〈松本十帖〉 https://ramps.jp/restaurant/matsumoto-jujo-367-breakfast/
朝食のコンセプトは「ヘルシー&コンシャス」。『ALPS BAKERY』で焼き上げたパンの他、野菜をたっぷりの朝食を堪能。
#旅行好きな人と繋がりたい
#旅行
#写真撮ってる人と繋がりたい
#グルメ旅
「INUA」の部門シェフによる薪火ダイニングのローカルガストロノミー|三六五+二(367)〈松本十帖〉
http://ramps.jp/restaurant/mat…
このレストランを目的に旅をする価値がある。
#ローカルガストロノミー
#noma
#発酵
#ホテルレストラン
#グルメ旅
#ホテル
【ホテル宿泊記】松本十帖|地域活性化の拠点を担うホテルのスイートルーム〈松本・浅間温泉〉 http://ramps.jp/hotel/matsumot…
松本十帖のスイートルームの全貌を紹介。ただ一言、最高だった!
#旅行好きな人と繋がりたい
#写真好きな人と繋がりたい
#写真で伝える私の世界
#ホテル
#旅行記