OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

strsetという関数

  • 困ってます
  • 質問No.202296
  • 閲覧数737
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 75% (31/41)

CかC++のプログラムで、文字配列をリセットしたいのでそういった関数を探してみました。
ネットで探したのですが、いくつかのサイトでstrsetという関数が紹介されていました。これは、strset(リセットしたい文字列,入れたい文字)という風に使うようです。
それで実際にソースに書いてコンパイルしたのですが、この関数は定義されてないらしく、認識してくれません。
(インクルードファイルは<stdio.h>,<stdlib.h>,<string.h>を使いました)
確かに聞いたことの無い関数だし、何冊かの本を見ましたがどこにもありません。
この関数はなにか特別な条件でないと使えないのでしょうか??

ちなみに、私がやろうとしたことは
char moji[] = "aiueo"と、aiueoが入った文字列mojiの中身を、
strset(moji," ")として空白にしたかったのです。

strsetの他に、文字列の中身を好きな文字で埋められるような関数ってありませんか?ご存知の方、教えて下さい。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4

strset って DOS/Windows 系でしか使えないです。
あとは、strset(moji, " " → ' '); の間違いとか?
お礼コメント
matuko

お礼率 75% (31/41)

strsetはUNIX上じゃ動かないって事ですか…どうりで動かないはずです。
だからあまり文献に載ってないのでしょうか。
どうもありがとうございました。
投稿日時 - 2002-01-23 01:09:45
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル7

ベストアンサー率 50% (7/14)

char* p = moji; while (*p) { *p = ' '; } はどうでしょう? int i; for (i = 0; i < sizeof(moji); i++) { moji[i] = ' '; } でもいいかも。 あるいは memset(moji, ' ', sizeof(moj ...続きを読む
char* p = moji;
while (*p) {
*p = ' ';
}
はどうでしょう?
int i;
for (i = 0; i < sizeof(moji); i++) {
moji[i] = ' ';
}
でもいいかも。
あるいは
memset(moji, ' ', sizeof(moji));
とか。


  • 回答No.2
レベル7

ベストアンサー率 50% (7/14)

#1の訂正と捕捉です。 最初のやつ char* p = moji; while (*p) { *p = ' '; p++; /* 追加 */ } 2番目。 mojiを'\0'で締めましょう。 例えば次のように。 int i, size; size = sizeof(moji); for (i = 0; i < s ...続きを読む
#1の訂正と捕捉です。

最初のやつ
char* p = moji;
while (*p) {
*p = ' ';
p++; /* 追加 */
}

2番目。
mojiを'\0'で締めましょう。
例えば次のように。
int i, size;
size = sizeof(moji);
for (i = 0; i < size; i++) {
moji[i] = ' ';
}
moji[size-1] = '\0';

3番目。
2番目と同様。
memset(moji, ' ', sizeof(moji)-1);
moji[sizeof(moji)-1] = '\0';
(memsetってWindowsではないかも?)
訂正だらけで申し訳ありません。
お礼コメント
matuko

お礼率 75% (31/41)

いろいろ考えてくださってありがとうございます。
参考になりました。
そういえばmemsetってありましたね。
C++だけの関数だと勝手に思ってて、Cでも使えるとは知りませんでした。
unix上で動かしてるのでmemsetを使ったらうまくいきました。
投稿日時 - 2002-01-23 01:02:56
  • 回答No.3

 補足です。  通常は strcpy ですね。  使い方は、    strcpy( moji, " " );  です。 ...続きを読む
 補足です。

 通常は strcpy ですね。
 使い方は、

   strcpy( moji, " " );

 です。
お礼コメント
matuko

お礼率 75% (31/41)

ありがとうございました。
strcpyを使うと簡単ですね…
参考になりました。
投稿日時 - 2002-01-23 01:07:00
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ