
unsigned char* uchar_string(string* str) {
int length = str->length();
const char* cchar = str->c_str();
unsigned char* uchar = new unsigned char[length+1];
for(int i=0; i=length; i++) {
uchar[i] = (unsigned char)cchar[i];
}
return uchar;
}
int main() {
string str;
cin >> str;
unsigned char* uc;
uc = uchar_string(&str);
cout << uc;
delete uctest;
return 0;
}
このようにしたところ、cout << uc; が出力されず入力待ちとなり正常に動きませんでした。
原因がわからないです。原因と解決方法のご教授願います。
No.1ベストアンサー
- 回答日時:
>このようにしたところ、cout << uc; が出力されず入力待ちとなり正常に動きませんでした。
入力待ち?
uchar_string()から戻ってきていないのではないですか?
>for(int i=0; i=length; i++) {
>uchar[i] = (unsigned char)cchar[i];
>}
ここで無限ループになっている…ハズです。
まず、iに0を設定します。
次にループ継続条件のi=lengthを実行して、iの値が書き換わります。
lengthが0ではないのでi=lengthは真となり、ループ継続が確定します。
uchar[i] = (unsigned char)cchar[i];が実行されます。
i++が実行されます。
再びループ継続条件の判定の為にi=lengthを実行して、iの値が書き換わります。
lengthが0ではないのでi=lengthは真となり、ループ継続が確定します。
uchar[i] = (unsigned char)cchar[i];が実行されます。
i++が実行されます。
再びループ継続条件の判定の為にi=lengthを実行して、iの値が書き換わります。
lengthが0ではないのでi=lengthは真となり、ループ継続が確定します。
:(以下略)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
while文の条件
-
while文の条件
-
エクセルVBAで Do While (1)って?
-
無限ループ対策
-
C言語のfor文の{}について
-
string から unsigned char へ
-
c言語のフローチャートについて...
-
超初心者です。HowTo本"独習C"...
-
Do whileとFor文の脱出処理につ...
-
C言語について
-
C言語の2進数変換プログラムの...
-
VBAで、35行3列の範囲を通し番...
-
Excel VBAで年度をまたぐ期間の...
-
プログラミングについての質問です
-
行列の積の求めかた
-
swith文について
-
ループの特定入力終了
-
UWSCにてある一定の動作を無限...
-
放電現象の2分法C言語プログラ...
-
PAD図の書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
do-while文が禁止される理由
-
入力した数値を倍々するプログラム
-
ループを途中で抜けたいのですが。
-
C言語forループが完結した場合...
-
break文でループを一気に抜ける...
-
C言語、whileループを抜け出す...
-
入力した文字列から母音だけを...
-
プログラムで関数は使わない方...
-
For文の終了値を関数にしても問...
-
Cプログラムが終了しない
-
if文の中にfor文なのか、for文...
-
他言語で言うcontinue文
-
文字列を後ろから1文字ずつ表示...
-
if文を使わずに奇数・偶数を判断
-
整定時間
-
for文while文の無限ループの違...
-
excel VBA if文について
-
n重のfor文にするには?
-
特定の文字列が出てくるまでの...
-
VBScriptでSQLに接続し、CSV出...
おすすめ情報