argv[]
の文字列要素をコンソールに印刷しようとしていますが、何らかの理由で出力が得意です。私のプログラム(回文をテストする)は正しく動作しているようです。唯一の欠点は、要素int argv[]
を私が回文としてテストしたコンソールに出力しようとしたときです。ここで* argv []を使った異常な出力
0
A
答えて
3
をあなたがcout
を使用することはできませんと言うので、あなたがprintf
を使用していない。ここで
for (int i = 1; i < argc; i++) {
string s(argv[i]);
printf("s: %s\n",s);
if (ignoreCase) {
for (int j = 0; j < s.size(); j++) {
tolower(s.at(j));
}
}
if (ignoreSpaces) {
s = removeSpaces(s);
}
if (isPalindrome(s, 0, s.size() - 1)) {
printf("%s is a palindrome.\n",s);
}
else {
printf("%s is not a palindrome.\n",s);
}
}
は、私が取得しています出力されます正しくprintf
を使用していて、printf
は(std::string
)の何も知らないので、プログラムは未定義の動作を呼び出しています。
修正は、printf
が知っているタイプを使用することです。 std::string
にはc_str()
関数があり、const char *
を返します。その代わりにその関数を使用してください。このような
ので、代わりの行:
printf("s: %s\n",s);
これを行う:
printf("s: %s\n",s.c_str());
+0
私は、問題はその行に沿ったものだったと感じていました。それをクリアしていただきありがとうございます! – McFizz
関連する問題
- 1. 異常なgrep出力
- 2. C++のwindows-threadの異常出力
- 3. Pythonを使用した異常検出
- 4. Pythonを使ったインタラクティブな入出力
- 5. from sys import argvを使って入力する
- 6. InnoDBテーブルのZF2ページネイターを使ったCount()の異常なパフォーマンス
- 7. Cで異常なループ出力を取得する
- 8. Rのdata.table:出力異なる値に変わった変数
- 9. 異なる出力
- 10. Flink出力セレクタに異常な動作があります
- 11. argvを使ってテキストファイルを読む
- 12. "argv"と "argv"が間違っていると、char **とint - なぜ?
- 13. 異なるタイプのユニオン配列の出力を出力
- 14. なぜ、下のクラスの出力が正常でなかったのですか?
- 15. FtpWebRequestを使った出力ログ
- 16. 異なる出力以下
- 17. 異なる出力ファイル
- 18. 異なる出力は、java
- 19. 異なる出力++プログラム
- 20. 異なる出力(BASE64)
- 21. boxplotを使用して異常値が検出されない
- 22. 出会いこの異常なエラー
- 23. vspipeを使用しているPython main(argv)関数のVapoursynth出力ノード
- 24. Unixでもっとも異常なエラー
- 25. CUDA出力は常に0
- 26. 構造体のベクトルを出力する際の異常な動作
- 27. Jsonプリント出力がエスケープ文字のために書込み出力と異なっています
- 28. python3 strftime出力はプラットフォームによって異なります
- 29. プログラムの出力が予想と異なっています
- 30. スクリーンとログファイルにBash出力が異なっています
は、あなたが共有することができ、エラーまたは予想される、と実際の出力? –
@Saram aliはい、私は自分の投稿を更新しました。私は最初に追加するつもりだったが、忘れてしまった – McFizz
'printf(" s:%s \ n "、s);' - これをしないでください。 'printf'関数は' std :: string'について何も知りません。あなたのコードは未定義の動作を引き起こします。 – PaulMcKenzie