C:¥hoge¥hoga¥honge.txt から
C:¥hoge¥hoga¥ を取り出すという感じです。
サンプルソースです
#include <stdio.h>
int main(void)
{
char *path = ”c:¥¥aaa¥¥bbb¥¥ccc.txt”;
char dir[256];
char *p;
*dir = ’¥0’;
p = strrchr(path, ’¥¥’);
if(p != NULL)
/* strncpyは癖があるのでstrncat */
strncat(dir, path, p - path);
printf(”%s¥n”, dir);
return 0;
}
Yahoo! JAPAN
URLはダミーです。
急ぎで書きましたがこのような処理でどうでしょうか?
char *c;//このポインタが文字列の先頭とします
char *cc;//最後の「/」の位置を記憶するフォルダ
while(*c!=’¥0’){
if(*c==’¥¥’){
cc=c;
c++;
}
*cc=’¥0’;//最後の「/」を文字列の終わり’¥0’に置き換える
コメント(9件)
なにぶん初質問なもので、コメントのつけ方がいまいちわかりませんでした…(Firefoxだからなのかな?)。
1番の方へ
サンプルソースありがとうございます。これを参考に何とかできそうです!
2番の方へ
¥0に置き換えた文字の後ろ(ファイル名の部分)がどうなるのか気になりますが、なんとなくわかったような気がします。
ありがとうございました〜(o_ _)o
ポイントの件、了解しました。
回答ポイントはそのままお受け取りください^^
って、ここに書いてていいのかな…?
>ポイントの件、了解しました。
>回答ポイントはそのままお受け取りください^^
>って、ここに書いてていいのかな…?
満足して頂けたなら光栄です。
ここにも書きますが、上記のサンプルソースはShift-JISに対応できていません。
下位バイトが¥[0x5C]のコード(例えば表[0x955C])などの場合、
期待通りの動作をしませんのでご了承願います。
_splitpath(szPath,szDrive,szDir,szFName,szExt);
Win3.1では動かないかもしれませんが、こういう関数もあります
http://hp.vector.co.jp/authors/VA036850/airpark/tips/
一応、貼り付けておきます。
/* splitpath.c */
#include <stdlib.h>
#include <stdio.h>
int main( int argc, char* argv[] )
{
char path_buffer[_MAX_PATH];
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
_makepath( path_buffer, ”c”, ”¥¥hoge¥¥hoga¥¥”, ”honge”, ”txt” );
printf( ”_makepath 関数で作成されたパス名: %s¥n¥n”, path_buffer );
_splitpath( path_buffer, drive, dir, fname, ext );
printf( ”_splitpath 関数によるパス名の分解:¥n” );
printf( ” ドライブ : %s¥n”, drive );
printf( ” ディレクトリ: %s¥n”, dir );
printf( ” ファイル名 : %s¥n”, fname );
printf( ” 拡張子 : %s¥n”, ext );
return 0;
}
>_splitpath(szPath,szDrive,szDir,szFName,szExt);
_splitpathは既に使っていましたが、Windows98からの関数で、Windows95では使えないのではてなで質問していました…^^;
¥がない入力が来たら暴走だよね♪
>_splitpathは既に使っていましたが、Windows98からの関数で、Windows95では使えないのではてなで質問していました…^^;
_splitpath() はCのランタイムライブラリで Windows とは直接関係はありません。
Windows95 で使えないと言う意味がわかりませんが、たまたまWindows95 時代にお使いだったコンパイラに実装されてなかったか、Windows95 にないAPIを使ってるのか・・・いずれにしてもコンパイラに依存する話ですね(^^ゞ
いまさらですが、_splitpathが原因ではありませんでした(^^;;;
サンプルコードを書いてくださったcx20さん、アドバイスをしていただいたvirusさん、ありがとうございました^^
完成したソフトのURLを書いておこうかな?
http://koya.marokun.net/soft/index.html#laf