現在、VC++はじめて1週間です。MSDNがない為HELPが参照出来ません。
VC++にてプログラムを作成しているのですが、EUC→ShiftJIS変換を行いたいのですが、関数は用意されているのでしょうか。
また、用意されていない場合、フリーのライブラリ等ご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。
よろしくお願いします。

A 回答 (1件)

VC++の標準ライブラリやMFCには漢字コードの変換機能はないようですね。


Win2000ならSDKに変換関数があるようですが。

それ以外だと、ライブラリというよりDLLになってしまいますが、nkf32.dllとかunkanj.dllなんてのがよく使われてますね。
どちらも「統合アーカイバプロジェクト」のページ(URLは下記)から入手できますので、とりあえずダウンロードされてみるのがいいんじゃないでしょうか。

参考URL:http://www.csdinc.co.jp/archiver/index.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
実は、strcode.dllというフリーのDLLをみつけて、それで何とかなりました。
削除を依頼していたのですが間に合わなかったようですね。

お礼日時:2001/02/21 12:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエンドユーザ指向のプログラミングの意味について

学校の課題で、「エンドユーザ指向のプログラミングが、ディジタルディバイドを回避する上で期待される役割を述べよ」。
とあるのですが、エンドユーザ指向のプログラミングとは何なのでしょうか?どんな意味なのでしょうか?
ご回答よろしくお願いします。

Aベストアンサー

一昔前に流行った用語ですが,EUC/EUP/EUD のことを指しているんじゃないでしょうか。
(End-User Computing, End-User Programming, End-User Development)
http://blog.mag2.com/m/log/0000132138/108681388.html

具体的には,アプリケーションソフトに付属するマクロ言語,OSに付属するスクリプト言語などを用いて,PC利用者自身がおこなう簡易システム開発を指します。

QVC++6.0 でのライブラリ参照方法

調べてはいるのですが、いまいち理解できないので以下の事を教えて下さい。

VC++6.0 のWin32 Console Applicationで、今回あるパッケージのdllを参照して使いたいと考えていますが、うまくいきません。
プロジェクト追加から、~.dllを追加して関数を使ってみたのですが、「error LNK2001: 外部シンボル "_関数名" は未解決ですとエラーがでます。
Console Applicationからはリンクできないのでしょうか?

何度も簡単な事で質問してしまい申し訳ありません。

Aベストアンサー

>探してみたところ、libsフォルダというのはあったんですがその中には「.dll」ファイルしかありませんでした。

DLLファイルしか無い場合は、
http://msdn2.microsoft.com/ja-jp/library/64tkc9y5(VS.80).aspx
を参考に「実行時に、動的にDLLをロードし、ロードに成功したらGetProcAddressで関数のアドレスを取得し、取得に成功したらその関数を呼び出す」と言う手法を用いて下さい。

Q作業ディレクトリについてエンドユーザが意識しなければならないシチュエーションについて教えてください。

「作業ディレクトリ」の歴史やその名残、エンドユーザであっても気をつけたほうが良い点などについて教えてください。私はパソコンのエンドユーザであるためか、一度も「作業ディレクトリ」について意識させられたことがありませんでした。ところが、ある日、エクセルVBAで作業ディレクトリの指定を正しく行っていないと開いてくれないマクロに遭遇して、その存在を知りました。エクセルVBA以外にも、「作業ディレクトリ」絡みで、エンドユーザの日常で問題になってしまうことは他にあるでしょうか?そもそも、どうして「絶対パス指定」を常用しないのでしょうか?

Aベストアンサー

プログラマではないので推測ですが、「絶対パス」を指定してしまうと、ログインユーザを追加変更するたびに作業ディレクトリも指定しなおさなければならず、その件で「起動しない」などとユーザ問い合わせが増える可能性があります。
また、だったらすべてユーザと無関係な専用ディレクトリを作るという方法も考えられますが、それが起動ドライブ以外の場合などではやはりユーザが勝手にフォーマットしたりされる危惧があります。
Cドライブにユーザアカウントに関係なくディレクトリを指定すると、今度はフォルダアクセス権をどうするかと、他人の作業内容履歴が丸見えになってしまいますね。
こんな理由により排他的に「%temp%」などを指定するのではないでしょうか。

Qvc++6.0 と vc++2500

vc++6.0で

ifstream ifs("userkey.dat");
ifs.getline(oc_user1, 63);

となっていてコンパイルできていたのですが

2005にしたら
コンパイルできません
どうしたらコンパイルできますか

6.0と2005の違いを知るには何を読んだらいいでしょうか?

Aベストアンサー

std::ifstream ifs("userkey.dat");
ifs.getline(oc_user1, 63);

としてみてはいかがでしょうか。

QID/PASSが必要な第三者サイトのhtmlを解析したい(対象:エンドユーザ

(関係ないとは思いますが、一応、環境は、CentOS4.4、Apache2.1.?(たぶん)、PHP5.?、MySQL5.?です。VPS(※)です)

※・・・共有サーバだけど、仮想root権限あり。使ってる分には、ほとんど専用サーバの感覚。


//-----------------------------------------------------------
ウェブ構築をしてるのですが、以下は可能でしょうか?

(1)自サイトで、検索ワードをエンドユーザに入力してもらう

(2)その検索サイトをもとに第三者のサイトへリダイレクト
   (例:http://example.com/foo/bar/hoge.php?q=検索ワード)

 ※なお、その第三者のサイトでは、ID/PASSが必要です!

(3)結果、表示されたhtmlを、解析し、なんらかのアクションを起こす
//-----------------------------------------------------------


上では「何らかのアクションを起こす」と書きましたが具体例があったほうがわかりやすいと思うので、

そのとばされたあとのhtmlソースが

//-----------------------------------------------------------
<html><body>

<a href="http://eample.com/foox.php">hoge</a><br />


あいうえお

<a href="http://eample.com/foox.php">foo</a><br />

<a href="http://eample.com/bar.php">bar</a><br />



</body></html>
//-----------------------------------------------------------

として、「何らかのアクション」は
htmlソース中「あいうえお」が出現した後で、一番はじめの a 要素 のURLへさらにリダイレクトされる

とします。

//===========================================================
もちろん、自サイトでは、検索ワードは入力させても、第三者サイトのID/PASSは入力させません。


自分の浅い知識で思うに、
最初のリダイレクトしたあとのhtmlソースを解析するので、

(1)最初のリダイレクトは、別ウィンドウとして開くのが必須?なのかなあと・・・・違ったらご指摘ください。

(2)で、第三者サイトのhtmlソースをいじるので、JavaScriptで解析することになるのかなあと違ったらご指摘ください。

・・・ひょっとして、単純なリダイレクトでなく、
自サイトの、とあるURLへリダイレクトし、そこでフレームを切って、
上フレームは第三者のサイト、下フレームは、解析するための、自サイトのページ。とすれば行ける・・・でしょうか?

 ただ、自分、JavaScriptに不慣れなもので、基本的なことしかわかりません。

ただ、(2)でもしJavaScriptを使えば実現可能だとしても、
なんらかの方法(ajax?)で、自サイトに解析結果を保存することができてしまい、
つまりはフィッシング的なおそれがあるのかな、と危惧しています。

でもふと思ったのですが、それなら、カスタママイズしたページ・・・たとえば「マイページ」。。。において、Google Adwordsを置けないですよね・・・
性悪説に立てば、Googleに、マイページの情報を送信してしまうことになるので。
そういうサイトはないのかな・・・?

あと、ほんのちょっとしか知らないのですが、第三者はたしかOpenIDを採用していまして、これを使っては実現できないでしょうか?

ややこしくて恐縮ですが、お分かりのかたいらっしゃいましたら、お教えいただければ幸いです。

(関係ないとは思いますが、一応、環境は、CentOS4.4、Apache2.1.?(たぶん)、PHP5.?、MySQL5.?です。VPS(※)です)

※・・・共有サーバだけど、仮想root権限あり。使ってる分には、ほとんど専用サーバの感覚。


//-----------------------------------------------------------
ウェブ構築をしてるのですが、以下は可能でしょうか?

(1)自サイトで、検索ワードをエンドユーザに入力してもらう

(2)その検索サイトをもとに第三者のサイトへリダイレクト
   (例:http://example.com/f...続きを読む

Aベストアンサー

確かJavaScriptってサイトを越えた場合
var objWin = window.open("URL");
var doc = objWin.document;
とかでdocumentを取得できなかったように思います
… アクセス拒否とかのエラーになってしまったような ・・・

自サイト内でもサイトとして独立しているような場合
ttp://hogehoge.com/hoge1/sample1.htm
ttp://hogehoge.com/hoge2/sample2.htm
sample1.htmから sample2.htmもだめだったように思います

QVC++5.0とVC++6.0の違いは?

何がどう変わったんでしょうか?
なんとなく使っているだけなのでぜんぜんわかりません。

簡単にんでいいんで思いつくことを書いてもらえるだけでもうれしいです。


よろしくお願いいたします。

Aベストアンサー

MFCのバージョンが違います。MFCのリファレンスを見れば6で増えた機能が分かります。

例えばブラウザを簡単に作れるCHtmlViewは6でないと使えません。

QEUCについて

エンドユーザコンピューティング(EUC)に関する記述で、適切なものはどれか。
ア EUCでは、ソフトウェアパッケージを利用することなくエンドユーザがシステム環境の構築や運用管理などを行うという特徴がある。

イ EUCによって、情報システム部門以外の担当者がメインフレームに直接アクセスし、データをダウンロードして加工することになるため、情報システム部門の開発バックログが増加する傾向がある。

ウ EUCの問題としては、基幹システムと部門システムとのデータの整合性をどのようにとるのかが考えられる。

エ EUCを実現するためには、javaやcなどのプログラム言語の教育が重要であり、これは情報システム部門にとって重要な任務である。

答えは、ウなんですがなぜなのかが分かりません(+o+)

Aベストアンサー

消去法で考えるのも1つの手

ア 一般的には、エンドユーザーにシステムの構築・管理はさせないし、表計算ソフト等のパッケージソフトも使えないとなれば非常に大変
イ エンドユーザーが自分でデータを集めて加工するから、普通は新たに特定用途に特化したプログラムを作る必要は無い
エ 作るな!とは言わないが、自力でプログラムを作るところまでは求めていないし、javaやcで作れるなら単なるエンドユーザーとは言えない気がする

残ったのは ウ
基幹システムは刻々と新しいデータが入力・更新される
普通、エンドユーザーはある時点のデータを集める事はできるけど、基幹システムでのデータ変化を自動的・簡単に取り込む仕組み・手段はもっていないことが多いので、古いデータを元に判断している=基幹システムの現時点のデータと差が大きい=事がある

QVC++6.0からVC++.NETへの変遷について

VC++がようやく分かり出したこの頃ですが、今日本屋に立ち寄ったら、なっ なんとVC++の本がほとんど無くなり、代わりにVC++.NETとVC#ばかりになっていました。

C#はVC++とは違うと聞いていたのですが、読んでみるとVC++.NETもかなり違ってました。
(かなり違うという表現は、各人の状況により意見が異なると思いますが)

私のような本を見ながらコードを打って勉強している初心者にとって、VC++.NETの本ではVC++6.0を動かすことができません。

今から勉強する人や本を買って勉強しようとしている人あるいは、コンパイラを手に入れようとしている人はVC++.NETに移行してしまわざるを得ないのでしょうか?

すでにVC++6.0を十分活用出来ている人も、時代の流れでNETやC#を勉強していかなければならないのでしょうか?

つまり、単なるバージョンアップとは一線をなす変更がなされたということなのでしょうか?

良くご存知の方見解をお願いします。

Aベストアンサー

すぐにではありませんが、.NETに移行せざるを得なくなるでしょうね。
ただ、開発環境という面では、VS.NETにはC++が含まれており、C++の部分は
従来のC++も利用できるようになっていて、これはアンマネージC++と呼ばれています。
C++で.NETのコードを作成する時は、マネージC++という拡張仕様で記述します。
また、従来のコードと.NETフレームワーク用コードを混在させてアプリケーションを
開発することもできます。これは、相互運用という形で説明されています。

ということですので、C++で習得したものが無駄になることはありません。
たぶん、.NET環境の開発には、C++よりもC#やVB.NETを利用することが
多くなると思いますが、C++を理解していることはプラスにはなってもマイナスには
なりませんので、頑張って下さい。

.NET関連のサイトを2つご紹介しておきます。ご参考に。
http://www.microsoft.com/japan/msdn/library/default.asp
http://www.atmarkit.co.jp/fdotnet/index.html

すぐにではありませんが、.NETに移行せざるを得なくなるでしょうね。
ただ、開発環境という面では、VS.NETにはC++が含まれており、C++の部分は
従来のC++も利用できるようになっていて、これはアンマネージC++と呼ばれています。
C++で.NETのコードを作成する時は、マネージC++という拡張仕様で記述します。
また、従来のコードと.NETフレームワーク用コードを混在させてアプリケーションを
開発することもできます。これは、相互運用という形で説明されています。

ということですので、C++で習得したもの...続きを読む

Qphpがsjisファイルを勝手にeuc-jpに

変更してブラウザに表示してしまうのですが
どうしたらこのような変換をやめさせることができるでしょうか?

phpinfo()を見てみると


 PHP Core
・・・・・・・・・・・・
default_charset EUC-JP(local value) EUC-JP(master value)
・・・・・・・・・・・・

 mbstring
・・・・・・・・・・・・
mbstring.http_output EUC-JP(local value) EUC-JP(master value)
mbstring.internal_encoding EUC-JP(local value) EUC-JP(master value)
・・・・・・・・・・・・

となっています。
このEUC-JPをsjisに変更したらいいのでしょうか?
そうだとするとその方法を教えてください。

Aベストアンサー

>データベースもsjisで動かしています。
>ところがデータベースからのデータが文字化けしているのです。
どんな設定をしたか分かりませんが
PostgreSQLで使える文字コードはEUC-JPかUTF-8です。
SJISはクライアントエンコーディングを設定することで
PostgreSQLが自動的に変換してくれるだけです。
逆を言えばクライアントエンコーディングを設定しなければ
入出力はEUC-JPかUTF-8になります。

PHPならpg_set_client_encodingを使ってないとか…

参考URL:http://jp.php.net/manual/ja/function.pg-set-client-encoding.php

QVC++6.0からVC++.NET2005へ移植

VC++6.0で作成したプログラムをVC++.NET2005に移植しました。
ビルドを行うと『fatal error LNK1104:ファイル'mfc42.lib'を開くことができません。』のエラーが出てしまいます。
ソリューションのプロパティを見てもどこで「mfc42.lib」の参照を定義しているのか分かりません。
どこで「mfc42.lib」の参照を定義しているのか教えてください。また、対策を教えてください。

Aベストアンサー

VC++.NET2005のエディションをお教えください。
Express Editionでは、リソースエディタがない、
ATL, MFCが使えないなどの制限がいくつか存在します。

また、VC2005などでは.NET Frameworkの開発が前提となっており
WIN32APIを使用する場合などについては、Platform SDKを
インストールする必要があります。


人気Q&Aランキング

おすすめ情報