

#include <iostream>
using namespace std;
void putv (const char* s){
for (int i = 0;s[i] != 0; s++){//ここが原因と思っている。
cout << s[i];
cout << '\n';
}
}
int main(void){
char b;
cin >> b;//ここが原因だと思っている。
putv(&b);//ここが原因だと思っている。
return 0;
}
以上がプログラムです。実行結果は例えば入力する文字列が「windows」の場合、
w
i
n
d
o
w
s
と表示させたいです。charポインターと文字列の練習で取り組んでいるので、分かったら教えて頂きたいです。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
C++だったら、string型使いましょ。
#include <iostream>
#include <string>
using namespace std;
void putv(string s)
{
for (char i:s)
cout << i << endl;
}
int main(void)
{
string b;
cin >> b;
putv(b);
return 0;
}
No.3
- 回答日時:
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
static char buffer[2048];
char* readline(void) {
char* cpy;
fgets(buffer, 2048, stdin);
cpy = (char*)malloc(strlen(buffer)+1);
strcpy(cpy, buffer);
cpy[strlen(cpy)-1] = '\0';
return cpy;
}
int main(void) {
int i;
char* s;
s = readline();
for (i = 0; s[i] != '\0'; i++) {
cout << s[i] << endl;
}
return 0;
}
// バッファ(入力文字をツッコんでおく配列)作成はある程度もうパターンなんで、作成法は暗記しておいた方が良い。

No.2
- 回答日時:
>main関数内で文字列を入れるのはcharで、関数はポインタで書きたいです。
ごめんなさい
書き方が簡潔過ぎましたね
char型の変数一つには一文字しか入りません
「文字列」を入れるには工夫が必要です
習ったことを思い出してみてください
No.1
- 回答日時:
ここが原因だと思っている
とは書いてありますが
なにか問題が起きているのですか?
エラーが出ているのならそのエラーを
思い通りの動作になっていないなら
今なっている動作について書きましょう
ぱっと見言えるのは
文字列を入れるのにchar型の変数でいいのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
このQ&Aを見た人はこんなQ&Aも見ています
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
C++で空Enterの入力を判断したい!!
C言語・C++・C#
-
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
-
4
coutで出力した文字を消去するためには?
C言語・C++・C#
-
5
【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法
C言語・C++・C#
-
6
空ENTERの判別
C言語・C++・C#
-
7
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
8
多重定義が起きている?--lnk2005エラー:VC++
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャスト変換について
-
ひとつのプログラムにしたいの...
-
構造体の各メンバにfor文からア...
-
C言語で、再帰呼び出しを使用...
-
オブジェクト(メモリ)のアド...
-
プログラム
-
atofで、どこまでか判定する
-
wake on lan のwindowsプログラ...
-
動的に生成した文字列の配列を...
-
kill.c
-
出力をパースペクティブに表示...
-
1bppファイルを8bpp(raw)に変換...
-
boost::pointee
-
Cのmain()の引数に関する質門で...
-
strchr() の第2引数はなぜ int ...
-
再帰プログラム
-
文字列の比較について
-
文字を数値化する方法で詳しく...
-
実行ファイルのweb掲載可否
-
データ型変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
文字列から空白を取り除きたい...
-
間接参照のレベルが異なっています
-
C言語のfor文です。 繰り返しの...
-
CStringをwchar_tに変換したい
-
テキストデータをそのままバイ...
-
charからLPTSTRへの変換方法
-
atoi( ) の反対をやりたい
-
charでの計算?
-
配列をnビットシフトする
-
c++ 文字列を入力して、一文字...
-
'const char *' 型は 'char *' ...
-
c言語でユーザ関数を利用して入...
-
干支のプログラム
-
switch文で文字を比較すること...
-
char型からのバイト数取得
-
ネットワークにつながっている...
-
getchar()を int でとる理由...
-
間接操作のレベルとは
-
str系関数を使わずに二つの文字...
おすすめ情報
実行結果を示し忘れていました。
このプログラムを実行した際の結果は
windowsの場合
w
で終わります。
そうですね、実行結果を忘れていましたので、それを補足で先程投稿しました。
main関数内で文字列を入れるのはcharで、関数はポインタで書きたいです。