下記のソースでは、ホルダーが漢字で無い時は成功するが。
漢字を使うと失敗する。
下記に成功する場合を示す。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main(){
char *dir1="C:/Users/usui/mingw";
int ret;
ret=chdir(dir1);
printf("%d\n",ret);
}
上記は、漢字を使っていないので結果は0を表示する。
然し、ホルダーに漢字を使うと-1を表示する。
漢字のホルダーを使う方法をお知えて下さい。
宜しくお願いします。
No.4ベストアンサー
- 回答日時:
No3です。
ちなみに私がインストールした(今使っているバージョン)のは、下記URLの
mingw-get-inst-20120426.exe です。
https://sourceforge.net/projects/mingw/files/Old …
有難う御座います。
取り敢えずは、動く事が分かっただけでも今回は
良しとします。又、動かなくなった時はコード関係
を疑って見る事にします。
今回は有難う御座います。
これで終わりとします。
No.3
- 回答日時:
>tatsu99様の環境変数の値と確認を取りたいのですが。
環境変数:LANGは特に設定していません。
>実行すると、cp932からutf8の変換に失敗しました。
>のエラーメッセージが出ます。
私も、昨年、このようなエラーがでて、更に調査するとiconvが存在しないことに起因していました。
その為、古いmingwを入れなおした記憶があります。
もしかしたら、iconvを強引にインストールすれば、解決するかもしれません(私はやってたことはないのですが)
No.2
- 回答日時:
>有難う御座います。
sjisを使っています。>コンパイラーは、mingwのgccを使っています。
>gccは一切漢字は使えないのでしょうか。
gcc ソースファイル --input-charset=cp932 --exec-charset=cp932
のように --input-charset=cp932 --exec-charset=cp932 のオプションをつけて
コンパイルしてみては、どうでしょうか。
昨年、私も、文字コードの変換(cp932->UTF-8)でエラーが発生し、mingwをダウングレードしました。
上記のオプションをつけてもだめなら、ダウングレードしたほうがよいかもしれません。
有難う御座います。
実行すると、cp932からutf8の変換に失敗しました。
のエラーメッセージが出ます。
所で、私の環境変数のLANGの値は、jaになっている
のですが。これって影響をするのでしょうか。
tatsu99様の環境変数の値と確認を取りたいのですが。
宜しくお願いします。
No.1
- 回答日時:
こちらの環境では成功します。
-----------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main(){
char *dir1="D:/goo/c/漢字フォルダ";
int ret;
ret=chdir(dir1);
printf("%d\n",ret);
printf("%s\n",dir1);
}
--------------------------------------
以下、実行結果です。
D:\goo\c>a.exe
0
D:/goo/c/漢字フォルダ
尚、このソースファイルの漢字コードはシフトJISです。
シフトJISでソースを書いてますか?
windows-7
mingw32(gcc version 4.6.2 (GCC)
で確認しています。
有難う御座います。sjisを使っています。
コンパイラーは、mingwのgccを使っています。
gccは一切漢字は使えないのでしょうか。
今回始めてchdirをC言語で使っているので
こんな物なのかと思っている所ですが。
どうなんでしょうか。私がやろうとしている事は
標準では出来ないのだろうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
enumの値から定義名を文字列化...
-
C++で2次元配列charをループしたい
-
wstringの主力
-
#include "fstream.h"
-
なぜ、C++の標準ヘッダをインク...
-
[Win + Eclipse + GCC]socketク...
-
ファイル読み込みとmap処理
-
C言語のエラーを修正したい
-
vectorのイテレータを大小比較...
-
JPEGやPNGが読めるLoadImage関数
-
CStringとString
-
VC++で文字列から任意の文字を...
-
リモートデスクトップの接続元I...
-
VHDLのvector
-
C言語のポインターで詰まっている
-
switch文のエラーについて
-
gccでコンパイル時のエラー
-
linux系OSでC99
-
名前空間でビルドエラー(LNK20...
-
ユークリッドの除去法アルゴリズム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
switch文のエラーについて
-
構文エラーが出ているのですが...
-
なぜ、C++の標準ヘッダをインク...
-
gccでコンパイル時のエラー
-
空ENTERの判別
-
【C++】ヘッダ内でstringを格納...
-
snprintfが使用できない。
-
enumの値から定義名を文字列化...
-
#include "fstream.h"
-
C++で、テキストファイルを一行...
-
std::wstringのメモリリークに...
-
C++での <iostream.h>と<iostre...
-
VC++で文字列から任意の文字を...
-
#defineの使い方について
-
wstringの主力
-
vc++の使い方について
-
std::map の const 修飾について
-
string型のフォーマット書式指...
-
構造体配列のvectorへの変換と...
-
指定した文字を削除したい
おすすめ情報
windows7を使っています。
gcc --versionの結果は下記です。
gcc (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
どうなんかなあ。バージョンが上がっておかしくなったのか。
バージョンを下げないといけないのか。
先程はコンパイルでエラーになりましたが。
再度のコンパイルで、今度は、上手く行きました。
何がおかしかったのだろうか。訳が分からん。
取り敢えずはこの状態で使って見ます。
実は、私の使い方と言うのは、最初のでまちがって
居なかったみたいです。初めての構文だったので
文法ミスの類も拭い去る事は出来ないので、半信半疑
でした。
有難う御座いました。