長さが不明な入力文字列を読み取るには?
2023-11-13 21:34:58
質問
単語の長さがわからないと、書けません。
char m[6];
,
の長さは10か20くらいでしょうか。
どうすれば
scanf
を使ってキーボードから入力を得ることができますか?
#include <stdio.h>
int main(void)
{
char m[6];
printf("please input a string with length=5\n");
scanf("%s",&m);
printf("this is the string: %s\n", m);
return 0;
}
長さ=5の文字列を入力してください。
入力:こんにちは
これは文字列:hello
どのように解決するのですか?
動的に領域を確保する際に入力する
例
#include <stdio.h>
#include <stdlib.h>
char *inputString(FILE* fp, size_t size){
//The size is extended by the input with the value of the provisional
char *str;
int ch;
size_t len = 0;
str = realloc(NULL, sizeof(*str)*size);//size is start size
if(!str)return str;
while(EOF!=(ch=fgetc(fp)) && ch != '\n'){
str[len++]=ch;
if(len==size){
str = realloc(str, sizeof(*str)*(size+=16));
if(!str)return str;
}
}
str[len++]='\0';
return realloc(str, sizeof(*str)*len);
}
int main(void){
char *m;
printf("input string : ");
m = inputString(stdin, 10);
printf("%s\n", m);
free(m);
return 0;
}
関連
-
error: '.' トークンの前にunqualified-idを指定する必要があります。
-
未定義の `__isoc99_sscanf' への参照
-
[解決済み] PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param )
-
[解決済み] C 言語で const char* を char* に変換するには?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] C言語でランダムなint型を生成するには?
-
[解決済み] C言語でオブジェクト指向のコードを書くとしたら、どのようにすればよいのでしょうか?[クローズド]
-
[解決済み] C言語のi++と++iに性能差はあるのでしょうか?
-
[解決済み] C言語の構造体(CGRectやCGPointなど)をNSLog化することは可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Cエラー [エラー] 代入_Ashesの左オペランドにlvalueが必要です-プログラマーズ・シークレット
-
Solve Dev-c++ [エラー] 'for' ループの初期宣言は、C99 または C11 モードでのみ許可されます。
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] ⑭と⑯は何のためにあるのですか?
-
[解決済み] C - Setデータ構造を実装するには?
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] .aファイル、.soファイルとは何ですか?
-
[解決済み] なぜC言語では構造体を頻繁にtypedefする必要があるのですか?
-
[解決済み] LD_PRELOADのトリックとは何ですか?