- ベストアンサー
char型変数をLPCTSTR型に変換する方法は?
- 外部ファイルの文字列をchar型変数に取り込み、それをLPCTSTR型に変換する方法を教えてください。
- 現在、char/THCARの変換が正しくできず困っています。開発環境はVisualStudio2010で、MFC作成(Unicode文字列)です。
- wsprintf()で変換する時点で文字列がおかしくなってしまい困っています。マルチバイト文字列を使用しない解決方法はありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 変数の中身を文字列に変換ってできますか?
void func(int x) { puts(&&&&&(x)); } こんな風にして、func という関数の引数に1が与えられたら、 putsを実行できるように1を文字列(つまり"1")に 変換してくれる&&&&&(x)という関数あるいは マクロが作成できないでしょうか? この質問をした目的は、変数の値によって、たくさんある ファイルのどれを開くか決定したいという所からきました。 fopen の引数が char *abc なんですもの。
- ベストアンサー
- C・C++・C#
- DWORDとcharの変換
突然ですが、DWORD*がたの文字列をchar*がたの文字列に変換する方法ってありますか? あれば関数名など教えていただけると助かります。 いそいでいます。お願いしますm(_ _)m
- ベストアンサー
- C・C++・C#
- char型とstring型について
char型とstring型について質問があります。 言語はC++です。 以下の関数があったとします。 void test(string a, string b string c){ 処理 } この関数を下記のように利用した場合について質問があります。 a.引数に直接文字列を挿入したケース test("aaa","bbb","ccc") b.変数に文字列を設定し、変数を引数にしたケース string a="aaa" string b="bbb" string c="ccc" test(a,b,c) (1)はコンパイルエラーになり、(2)は成功しました。 同じ様に見えるのですが、何が違うのでしょうか? また、関数の引数の型をchar*にした場合、(1)(2)のケースでコンパイルが通りました。char*型だと何が違うのでしょうか?
- ベストアンサー
- C・C++・C#
- char型の文章をconst char*型に変換
Visual C++ MFCでアプリケーション作成している者です。 現在、エディットコントロールに入力したファイルパスを取り込んで、ファイルのデータ読み込みをおこなうプログラムを作成しております。 しかし、当方プログラムの型など細かいことがあまりわからないため、目的が達成できず困っていたので、この場をお借りして質問しました。 コードの感じは以下のようになっております。 ------------------------------------------ TCHAR FPath; // ファイルパスが入る FILE *fp; m_edit.GetWindowText( FPath, MAX_PATH ); // m_edit:エディットコントロールのメンバ変数 fopen_s( &fp, [FPathのconst char*], "r" ); ------------------------------------------- char型からconst char型へ変換できればいいのですが、ちょっとよくわからず… ご回答、宜しくお願い致します。
- 締切済み
- C・C++・C#
- System::String->char*変換でき
C++/CLIでSystem::String^文字列をchar*に変換する関数を書いたのですが、256文字以上の文字列を投げて、戻値を確認してみると、255文字分しか中身が詰まっていません。元の文字列はアスキーのみです。 #include <msclr/marshal.h> using namespace msclr::interop; static char* toPtChar(const String^ Text) { String^ temp = (String^)Text; msclr::interop::marshal_context^ context = gcnew msclr::interop::marshal_context(); char* res = ((char*)(context->marshal_as<const char*>(temp))); return res; } この関数をどのように変更すれば、256文字以上変換できるでしょうか?
- ベストアンサー
- C・C++・C#
- 'const char *' 型は 'char *' 型に変換できない ??
Case 1 Text9.Text = "AB"; Text10.Text = "A"; // 1文字目 Text11.Text = "B"; // 2文字目 case 2; Text9.Text = "Ab"; Text10.Text = "A"; Text11.Text = "b"; case 3; Text9.Text = "aB"; Text10.Text = "a"; Text11.Text = "B"; case 4; Text9.Text = "ab"; Text10.Text = "a"; Text11.Text = "b"; 上記のようなCase 文を C を使って作成したいのですが, A~J の大文字とa~jまでの小文字をつかって,2文字の文字列をつくるとき, 1文字目と2文字目が,形態も名称も異なる文字列(例 AB , Ab aB, ab, AC, Ac aC ac, ...)のcase文をつくりたいのですが, 'const char *' 型は 'char *' 型に変換できないというエラーメッセージがでてしまいます.下記プログラムをどう直せばいいかおしえてください. #include <stdio.h> #define MAX_NAME 256 int main(void) { const char *NAME12 = "Text9"; const char *NAME1 = "Text10"; const char *NAME2 = "Text11"; const char *ALPH = "ABCDEFGHIJabcdefghij"; FILE *fp = NULL; char f_name[MAX_NAME]; int count = 0; char *p = ALPH; char *q = ALPH; printf("ファイル名:"); scanf("%s", f_name); fp = fopen(f_name, "w"); if (fp == NULL) { printf("'%s':ファイルが見つかりません\n", f_name); } else { for (p = ALPH; *p != '\0'; p++) { for (q = ALPH; *q != '\0'; q++) { if (*p != *q) { count++; fprintf(fp, "Case %d\n", count); fprintf(fp, "%s.Text = \"%c%c\"\n", NAME12, *p, *q); fprintf(fp, "%s.Text = \"%c%c\"\n", NAME1, *p, *q); fprintf(fp, "%s.Text = \"%c%c\"\n", NAME2, *p, *q); } } } fclose(fp); } return 0; }
- ベストアンサー
- C・C++・C#
- charからLPTSTRへの変換方法
リストコントロールにchar型の変数の値を数値として表示させたいのですが、charからLPTSTRへの洗練された変換方法がよくわからないです。 char tempChar; CString tempString; tempString.Format("%s", tempChar); LPTSTR lpsz = new TCHAR[tempString.GetLength()+1]; _tcscpy(lpsz, tempString); こんなプログラムを考えてみたのですが、汚いような気がします。もっと簡単で洗練された変換方法はないのでしょうか?
- ベストアンサー
- C・C++・C#
- 1ByteのChar型変数を文字列として扱いたい
1Byteのchar型変数に入ってる値を文字列として扱う方法を教えて下さい Char a; a=30; この30を文字列として出力したいのです 期待している出力:30 判る方、よろしくお願いします
- ベストアンサー
- C・C++・C#
- wsprintfで実数値を文字列にしたい
ダイアログボックスの「edit」部分にセットしようと思ったのですが SetDlgItemIntが整数しか使えないので変換したいです。 TCHAR buf[20]; wsprintf(buf, "%.1f", temperature); と書きましたがconst char * の引数LPCWSTRのパラメータと互換性がありませんと出てしまいます。
- ベストアンサー
- C・C++・C#
- ポインタ
字列2つを入力し,同じ文字列かどうかを判定するプログラム ポインタの操作で文字列の比較を実現する。 (ライブラリ関数 strcmp を仕様しない) 関数の中身が上手に実現出来ません。 文字列を指すポインタ変数 2 つを引数に取り,同じ文字列なら -1 を,異なる場合は先頭から一致した文字数 を返す関数 必ず,具体的な解答を提示して下さい。 char str__com(char *s,char *t,int count) { while(*s = *t != '\0'){ if(s != t){ return -1; } if(s == t){ count++; } {s++;t++;} } return -1; }
- 締切済み
- C・C++・C#
お礼
ご回答ありがとうございます. おかげで変換し,目的を達成することが出来ました. fscanfの第一パラメータは自分の転載ミスです.