• 締切済み

(C言語等で)既存ファイル群の属性(作成日時)を取り出すには?ファイル名変更するには?

どうしたら良いでしょうか。いろいろと質問ばかりで恐縮ですが、皆様どうぞよろしくお願い致します。実験で収集された多く(いくつかのdirにある)3000個ぐらいデータの処理を開始したいのですが、その前に、採取時期によってやや不統一さがあるデータファイル名を、年月日時.logなどで統一しようかと思いました。が、初心者のため、どうしたら良いか困ってしまいました。 C言語でなくてもそういうツールがあるという情報でもありがたいですが、ファイルの作成日付とか最終変更日付のMSDOS的?情報を採取して、ファイル名にできるとうれしいです。 どうぞよろしくお願い致します。 環境:Borland C v5.5無料版、windows 2000(DOS窓), thinkpad

みんなの回答

  • _safety_
  • ベストアンサー率100% (1/1)
回答No.4

Borland Cは、使ったことないのでなんともいえませんが、 関数statについてなら、参考URLを見てください。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/stat.2.html
harapeko99
質問者

お礼

貴重な情報ありがとうございます。こういうのを教わった瞬間もとても嬉しく感じます。

全文を見る
すると、全ての回答が全文表示されます。
  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.3

http://www.yfcbookshelf.com/c%20language's%20books9.htm 等の本を購入することをお薦めします。 Cマガジンという雑誌も有りますのでそのような本を購入して 勉強してください。 インターネット上のサイとは知りません。検索して探してください。

参考URL:
http://www.yfcbookshelf.com/c%20language's%20books9.htm
harapeko99
質問者

お礼

ありがとうございます。またよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.2

Borland C や windows 2000 で有るかどうかしりませんが ファイルの情報は stat で取得。ファイル名の変更は rename で出来ます。これらのキーワードで調べればいいと思います。

harapeko99
質問者

お礼

ありがとうございます。 こちらの知識不足で、せっかくのご回答なのに十分理解できずに残念です。理解しようとweb検索で調査しました。statとかrenameとかC言語とかで検索しました。が、一般語がヒットしてしまい、意味のある結果が得られませんでした。そこで、申し訳ないのですが、よろしければ少しだけ教えてください。 1)stat とは、stat()という形のCの関数でしょうか? 2)もしそうなら、#include <????.h> とどう書くと使用可能になりますか? 3)rename とは、rename()関数でしょうか? 4)それはどのように、#include<_????.h>とどう書くと使用可能ですか? 初心者なので、質問ばかりですみません。もしお分かりでしたら、よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • KojiS
  • ベストアンサー率46% (145/312)
回答No.1

 どうもリファレンス書のたぐいは持っていないようですね。  まず、C言語の標準ライブラリの本や、MS-Cや Borland-Cのライブラリを解説している書籍を探した方が良いと思いますよ。  本屋やインターネットで探してみましょう。  同様に、アルゴリズム本も探すと良いかもしれません。

harapeko99
質問者

お礼

ありがとうございます。C言語の「ライブラリ」という用語が、重要だとわかりました。インターネットで調べてみました。あまり、解りやすい内容のものが無かったです。C言語の「ライブラリ」について、技術的に平易で十分に解説しているwebがありましたらどうぞお教えください>KojiS様 &皆様

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語でコマンド引数にワイルドカードを使うには?サブディレクトリも探索させるには?

    C言語で(下記の環境で) ワイルドカードを使うにはどうしたら良いでしょうか? 現在作成中のプログラムで、program.exe data1012.log とかいう形で処理ができるようになりました。ところで、引数に書いたdata1012.logとかが、300個ぐらいあるとして(あるいは別のdirectoryに更に1000個とか、そういうdirが20個ぐらいあり)これを、program.exe *.logとして、一発で処理させることはできるでしょうか?ワイルドカードの展開と、サブディレクトリの探索どちらかだけでもありがたいです。 どうぞよろしくお願い致します。 環境:Borland C v5.5 無料版, windows2000 (DOS窓), ThinkPadです。

  • Borland C++ Builderで簡単なC言語プログラムの作成・実行

    Borland C++ Builderで簡単なCのプログラムを作り実行させるにはどうしたらよいですか? DOS窓上でコンパイルするのではなく、Borland C++ Builderのメニューから行いたいのです。 一応、「ファイル→新規作成→その他→Cファイル」でCのファイルは作成できるのですが、このファイルを「プロジェクト→ユニットのコンパイル」でコンパイルすることができません。 Formオブジェクト(?)を作成しておくとコンパイルできます。 Formは特に必要ないので、FormなしでCのファイルだけをコンパイルしたいのです。 DOS窓でのコンパイル・実行はできます。 事情があってBorland C++ Builderを使わなくてはなりませんので、他のIDEはこの際全く解決になりません。 よろしくお願いします。

  • Win2000 DOS窓 C言語で COM1入力バイナリを読み込み表示したい

    どうしたら良いでしょうか。 ThinkPad, Windows2000, DOS窓, Borland C v5.5.1 無料版 COM1の読込みのみ(書き出し無し) dataは、バイナリ形式で、約120Byte/秒(時に121Byte/秒だったり若干変動します)で入ってくる垂れ流し方式。一連のデータの先頭であることは、header (0x10 0x03 0x10 0x75という4バイト)の存在で識別します。 このようにCOM1から入力されてくる情報の一部をシンプルにDOS窓で表示するプログラムを作成したいのです。どんな感じのプログラムを打てばいいのか分かりません。もしわかる人がいましたら教えてください、できればプログラム付で教えてもらえればうれしいです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=106550 に関連質問と回答がありましたが、UNIXの例でしたので私には使えないので、windows2000のDOS窓、borland C v5.5.1で、動く例を教えて頂けますると、うれしいです。 よろしくお願い致します。

  • C言語のコンパイラ操作について教えてください。

    Borland社が提供していますBorland C++ Compilerというものを使わせていただいてるのですが、初心者の私には難しいのです。 コマンドプロントというのでしょうか・・ C:\Document and Settings\xxxx> と、出てきたので C:\Document and Settings\xxxx>\borland\BCC55\bin と入力しましたら C:\borland\BCC55\bin> に変わりました。 普通にインクルードのプログラムから始められる画面にするにはここからどうすればよろしいのでしょうか?? C:\borland\BCC55\bin>dir と、入力しましたら、何だかbcc32.cfgとかilink32.cfg とか、他にたくさんのデータが表示されました。 どうしたらよろしいのでしょう、よろしくお願いいたします。質問が足りないときは補足させていただきます。

  • C言語のコンパイルの設定で詰まっています。

    エディタ:Notepad++ notepad++のNppExecというプラグインを使い、いろいろなサイトとファイルを参考に以下のコマンドを記述しました。 NPP_SAVE CD $(CURRENT_DIRECTORY) C:\borland\bcc55\Bin\bcc32.exe -I -L "$(FILE_NAME)" Console画面には、 Current directory: C:\[フォルダ名] Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland [ファイル名].c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland ================ READY ================ と表示されました。 私には何をやっている文章なのかよくわからないのですが、 .cのファイルはちゃんと保存され、.exe .tds .obj のファイルができているので、コンパイルは成功していると思います。 そこで、 コンパイルしたhogehoge.exeなどをnotepad++上で実行させるためには、どのようなコマンドを記述すればいいのでしょうか? コマンドプロンプトをにbcc32などと記述してコンパイルするのは、面倒に感じるのでどうしてもNotepad上でexeを実行させたいのです。 他のテキストエディタを使う、というのは考えていません。 当方、プログラミング自体、C言語でやっとfor文を覚えたばかりの初心者なので、できるだけわかりやすい言葉で解答をいただけると幸いです。お願いします。

  • C言語のコンパイルと実行ファイル作成について

    Cで人が書いたプログラムを修正しています。 IDEではなくLinux環境でのコード修正が初めてで、デバックでのバグ潰しや実行ファイル生成がうまく行かず困ってます。 warningをきちんと治したいというのと、gdbの起動がうまくいかない、という2点です。 あるディレクトリに保存された、ABCという文字を含んだサブディレクトリに対して処理を行うプログラムです。 まず1つめ、warningの修正について教えてください。 test=opendir(buff); //DIR変数ポインタ  *test にパスを代入して、 //そのパスにABCという文字が含まれていたら以下を実行、というところ if(test==NULL&&errno!=){ check=strchr(test,"ABC"); //checkはchar型ポインタです。ここでincomparableな変数だというwarningが出ます。 DIRポインタで取得したパス名をstrchrで比較することはできないのでしょうか。char変数mojiを追加しcheckもchar型に変更して  moji = test  check=strchr(moji,"ABC") としてみましたがNGでした。 このwarningは単に警告なのでとりあえず実行ファイルを作ってデバックしてみたら、と言われ a.outファイルを生成しました。デバッカgdbを起動したところで、2つ目の疑問が発生しました。 gdb 対象ファイル名.c (gdb) break main   //と打つと、ここで No symbol table is loaded. Use the "file" command.  //と表示されます。 これは、どう対処したらいいのでしょうか? 調べてあれこれ対応してみたのですがどうにも対処できず困っています。 ぜひ教えていただけると助かります。 宜しくお願い致します。

  • C言語でのMIDI情報の抽出

    フリーのコンパイラであるBorland C++Compilerを利用して、C言語の勉強をしているのです。 そこで質問なのですが、C言語においてMIDIファイルのタイトル情報やその他の情報(MIDIプレイヤーなどで表示されるタイトル)などを取得するには、どのようにすれば良いのでしょうか? MIDIファイル用の関数などがあるのでしょうか。 もし、知っていましたらよろしくお願いいたします。

  • 【C言語】コンパイル不可

    いつもお世話になっておりませす。 以前、下記の質問をさせていただき、 回答者様からソースプログラムをいただきました。 http://okwave.jp/qa/q7471896.html プログラムを実行しDos上で文字を入力したところ、 「'C:Documents' は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。」 と表示されてしまいます。 自分で作成したプログラム等は問題なく実行されるのですが、 回答者様から教えていただいたプログラムのみ実行されません。 自分なりに調べてみたのですが、 解決策が今ひとつ分からず質問させていただきました。 尚、コンパイラは 「Borland C++ Compiler 」 を使用しております。 どうぞ宜しくお願い致します。

  • バッチファイル作成で又また困っています。

    ・質問No (No.2233751)でCSVファイルの結合でお世話になったyazaemonです。皆様に助けて頂いたばかりですが、上司より過去のLogもHOSTへFTPしたいので・・・出来ないかとの「とほほ」が入りまして、教えていただいた「FOR /F "delims="」を使い考えましたが挫折しています。すみませんがご教授お願いします。 〔内容〕  D:\data\CL_Logs\Logs\でLogsフォルダー内にYYYMMDD形式で名前の付いたフォルダー(2年分のフォルダー:365x2=約730個)が有ります。そのフォルダー内には、それぞれ300件以上のCSVファイルが有ります。今後の日付でのCSVファイルの結合とFTPは助けていただいてバッチシOKとなりました。  今回はLogsフォルダー下の過去の日付のフォルダー(例:20050505)内の300件以上のCSVファイルの内容を結合した2005050.CSVを作成し、FTPすると言うものです。  〔ヘナチョコ未完成バッチ〕 @echo off setlocal set TARGET_DIR=D:\data\CL_Logs\Logs cd /d %TARGET_DIR% dir /ON /B > dirlist.dat FOR /F "delims=" %%i in (dirlist.dat) do type "%%i" >>dir.csv ---ここで行き詰まりです。 Logsフォルダーにdir.cvsを作りそれをFORコマンドで利用しと思い試しましたが玉砕しました。理論適には多分dir.csvの1行目にcdしcsvファイル用のfilelist.datを ・dir /ON /B JL*.csv >filelist.datの様に作成し、 ・FOR /F "delims=" %%i in (filelist.dat) do type "%%i" >>??? の様にすれば結合したcsvが出来るのだろうと思いますが技量が全く足りません。又、>>???のファイル名をCSVが入っているカレントの過去の日付の(例:20050505.csv)にする方法とかは検討も付きません。  厚かましいお願いですが宜しくお願いいたします。

  • C言語でいきなりつまづいてます。

    C言語でいきなりつまづいてます。 何がダメなのかご教授ください。 OSはウインドウズXPです。 (1)Borland C++ Compiler 5.5 With Command Line Tools Version 5.5.1をインストールしました。 (2)BCC5.5.1 環境ファイルパス設定プログラムをインストールしました。 (3)以下のソースを書きました。 #include <stdio.h> int main(void) { printf("Hello, \nworld"); return 0; } (4)hello.cというファイル名で保存しました。 (5)コマンドプロンプトでフォルダを(4)のファイルが置いてあるフォルダに指定し bcc32 hello.cと入力しました。 (6)出力が   hello.c になります。 エラーなどはありません。 以上です。 よろしくお願いします。

このQ&Aのポイント
  • 茨城県外から常陽銀行に口座を開くメリットをご紹介します。
  • 常陽銀行は茨城県を基盤とした地方銀行ですが、茨城県外の方でも口座開設が可能です。
  • 口座開設のメリットとしては、茨城県内に店舗網が広がっているため、地域に密着したサービスを利用できることや、茨城県内での取引がスムーズに行えることなどがあります。
回答を見る