No.4ベストアンサー
- 回答日時:
> FTPでアップロードは出来るという記述はあったのですが
私は逆にget出来る、の記述しか見つけられませんでした。
http://www.libcurl.org/ より:
> libcurl is a free, open source client to get documents/files from servers, using any of the supported protocols.
対応プロトコルの数を考えるとちとftp専用としてはサイズが大きそうな気はしますが、簡単に使えそうではありますね。
この回答への補足
libcurlでFTPダウンロード出来ることを確認しました。
ありがとうございました。
struct FtpInfo{
const char *fname;
FILE *stream;
};
size_t ftpWriteFunc(void *buf, size_t size, size_t nmemb, void *stream)
{
struct FtpInfo *f;
f = (struct FtpInfo *)stream;
if(f && !f->stream){
f->stream = fopen(f->fname, "wb");
if(!f->stream){
return(-1);
}
}
return(fwrite(buf, size, nmemb, f->stream));
}
:
:
CURL *c;
struct FtpInfo f;
f.stream = NULL;
/* 初期処理 */
curl_global_init(CURL_GLOBAL_DEFAULT);
c = curl_easy_init();
/* 詳細表示 */
curl_easy_setopt(c, CURLOPT_VERBOSE, 1);
/* 設定 */
sprintf(buf, "%s:%s", username, password);
curl_easy_setopt(c, CURLOPT_USERPWD, buf);
sprintf(buf, "ftp://%s/%s/%s", servername, filepath, filename);
curl_easy_setopt(c, CURLOPT_URL, buf);
curl_easy_setopt(c, CURLOPT_WRITEFUNCTION, ftpWriteFunc);
curl_easy_setopt(c, CURLOPT_WRITEDATA, &f);
/* FTPでデータ取得 */
cret = curl_easy_perform(c);
/* 終了処理 */
curl_easy_cleanup(c);
No.3
- 回答日時:
>C言語でFTPを使用してあるサーバからデータをダウンロードするプログラムを作りたいのですが
これだけの処理ならCなど使わずに
シェルスクリプトでftpやwgetでできそうですけど
そうすれば
>Solaris,RedHatなど主要な
も気にする必要もないし
>gccのバージョン3~4ぐらいで使えること
も気にする必要がないですけど
とりあえず
http://www.google.co.jp/search?hl=ja&safe=off&q= …
の
http://x68000.q-e-d.net/~68user/net/c-ftp-1.html
ググった結果最初に引っかかったページ。
この回答への補足
正確にはプログラムのほとんどは既に出来ていて、FTPでデータを取ってくる処理だけ作らないといけないのです。
FTPでデータを取って来る前、取ってきた後の処理は他の人が作ったものが既にあります。
No.2
- 回答日時:
SolarisはUNIXであってLinuxじゃありません、というのはさておいて。
libOftpというモノがあるようです。(1.0 Stableで開発終わってるようですが)
http://sourceforge.net/projects/libftp/
ただし使えるかどうかはやってみないとわかりません。
ライセンスはCDDL/GPLのデュアルライセンスのようです。
>#1
ログインの必要がないとこだけならsystem()でwget投げるってのは案外いいアイディアじゃないですか?
この回答への補足
>SolarisはUNIXであってLinuxじゃありません
失礼しました。
libftp検討してみます。
調べていてlibcurlというのを見かけたのですが、これは使えないでしょうか?
FTPでアップロードは出来るという記述はあったのですがダウンロードが出来るとは書いてありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー NASの利用経験多い方教えてください! 1 2022/03/24 19:21
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- デスクトップパソコン ウイルスに感染しないファイルのバックアップ方法について 5 2022/09/11 11:27
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
linuxでのftpクライアントプログラムをつくるには
その他(インターネット接続・インフラ)
-
C++によるファイル送受信プログラム作成について
C言語・C++・C#
-
ftpクライアントでの接続後の、サーバ側のファイル一覧の取得方法
C言語・C++・C#
-
-
4
Winsockの通信処理にてファイル転送方法?
C言語・C++・C#
-
5
シェルスクリプトでFTPの実行結果を取得するには
その他(プログラミング・Web制作)
-
6
Visual C++からftpを使う
C言語・C++・C#
-
7
ftpコマンドの戻り値をチェックしたい
その他(プログラミング・Web制作)
-
8
Cからシェルを起動し返り値をハンドリングする方法
C言語・C++・C#
-
9
C言語 配列の長さの上限
C言語・C++・C#
-
10
ftpでファイルを転送時、タイムスタンプを維持したい
UNIX・Linux
-
11
C言語を用いたファイルの一括削除について
C言語・C++・C#
-
12
system関数のエラー検出
C言語・C++・C#
-
13
msgget()で指定するkey値について
C言語・C++・C#
-
14
IPアドレスとMACアドレスを取得したい(C言語)
C言語・C++・C#
-
15
Linuxでのスレッド間メッセージについて
C言語・C++・C#
-
16
C言語でシステム日付との差を求める
C言語・C++・C#
-
17
C言語、ファイルの存在チェック(ワイルドカードで)
C言語・C++・C#
-
18
マルチスレッドで同時にFTPアップロードをしたいです...
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
空elseの有無
-
C言語(gcc), Linux, FTPプログ...
-
GUIプログラミングはガワを作っ...
-
超初心者用プラグラム教えてく...
-
パックマンプログラム
-
0除算して、落ちるプログラムと...
-
【JAVA】数字をひし形に出力す...
-
自動クエリとはどういうもので...
-
変数の値が勝手に変化する原因
-
あるプログラムのコマンドライ...
-
C言語のプログラミングの問題で...
-
変数(関数)名の頭に_
-
RFO BASIC
-
Notepad++の関数リスト表示でC...
-
excelのexe化について
-
正しい五十音順について
-
コンパイルできない
-
アルゴリズムとプロトコールの違い
-
65536は2の何乗なのでしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
空elseの有無
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
きれいなコード vba vbaを勉強...
-
PCの時刻精度
-
VBからシャットダウンさせる方法
-
クリップボードを排他的に利用...
-
MFC,C++/CLI,C#の共存
-
逆フーリエ変換のプログラムに...
-
【VB】データグリッドビューで...
-
COBOLのCALL文がいまいちつかめ...
-
GDLでH8/3052Fのi2cプログラム...
-
プログラム動作時のCPU処理時間...
-
「ルーチン」という言葉の意味
-
例外処理があまり使われない理...
-
良いプログラムとは?
-
実行コマンドのプロセス管理
おすすめ情報