質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1020閲覧

通信を使ったアプリの制作の学習について

m0m0

総合スコア14

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2018/05/27 02:40

質問場所が間違っていたら申し訳ございません。
(ご指摘受ければ、質問を取り下げます。)

当方半年前にIT系の会社に未経験で就職し、OJTで実務を学びながらC言語を学習しています。
学習にあたって今までは教本を読んで勉強していたのですが、先輩からの指示でアウトプットを意識して実際にコードを書いてC言語を学んでいく学習方法を行っていく方針になりました。
そこでひとつアプリを作成してみるということになりまして、ネット上のサイトにある画像をダウンロードし、指定のフォルダに保存するといったものを考え、アプリ作成する報告をしています。
ただ、いざどうやって作っていこうと考えたとき、どこから着手していいかわからず自分の持っている知識だけでは足りないのでアプリ制作に必要な知識を勉強したいと考えております。
上記のような機能を実装しようとしたときどういった知識をもっていれば問題なくアプリを制作できるのでしょうか。
現在、必要な知識について調べてみていますが、ソケット関連の知識が必要そうだというところまでしか分かっていません。
その必要そうだと思うソケット関連の知識も本当に必要なものなのか知識が不足しているため確証が持てず、そのため学習していく内容の方向性が合っているのか不安があります。
作成したいアプリを作るためにはソケット関連の知識を学習していく方向性で合っているのか、また、ソケット関連以外に必要な知識があるならばその知識がどういったものなのか、この教本を読めば欲しい知識が手に入るよといったお勧めの書籍があればぜひ教えていただきたいです。

以上です。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ソケット関連の知識が必要そうだというところまでしか分かっていません。

パソコン環境の開発という前提では、通常「ネット上のサイトにある画像をダウンロード」するようなタスクに対して、ソケットレベルから自前で実装することは行いません

WindowsであればWinHTTPなどOS組み込みのHTTPレイヤーがありますし、Linuxでもcurlのような標準的に使われるライブラリがありますので、それらを使ってHTTP自体のハンドリングはライブラリに任せてしまいましょう。

投稿2018/05/27 03:27

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m0m0

2018/05/27 11:14

パソコン環境の開発経験自体ない為、WindowsのWinHTTPやLinuxでもcurlのようなライブラリがあることを知りませんでした。教えて頂きありがとうございます。 Windowsのライブラリの使い方あたりから調べてみようと思います。
pepperleaf

2018/05/27 11:23

今時、Cでコードを書くところがすくないじゃないかと思ったのですが、、、。組込みでもC++ を聞きます。
guest

0

ベストアンサー

こんにちは。

ネット上のサイトにある画像をダウンロードし、指定のフォルダに保存するといったものを考え、アプリ作成する報告をしています。

定番はヘッドレスブラウザを使うことと思います。
しかし、C言語とは無関係な世界です。C言語の学習にはなんの役にも立たないでしょう。

このような高度なことではなく、画像のURLを直接指定してそれをダウンロードするだけなら、libCurlを使うのも手です。
それでも、C言語の学習というよりはlibCurlの使い方の学習の面が強いでしょう。そして、socketをあまり学べないので意味がないかも知れません。

socketから学習する場合は、自力でsocketを使ってhttp getリクエストを発行してダウンロードするイメージになると思います。検索すると意外に解説記事がありました。それらをきちんと理解してプログラムできれば非常に力が付きそうです。
HTTP でファイルをダウンロードして保存する方法 Javaですが概念を把握できるかも。
[C言語] HTTPクライアントを作ってみる ダウンロード限定ではないですがC言語です。

投稿2018/05/27 03:39

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m0m0

2018/05/27 11:15

アプリ開発の経験も知識もなく、その為してしまった的外れな質問にも親切に回答していただきありがとうございます。 教えていただいた情報からどう作っていくか、イメージを固めるところから始めていきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問