文字列の挿入についてです。
例えば、
system関数を使ってwindows上でコマンドを実行したいときにsystem("dir");などするわけですが、
windowsのcdコマンドを使いたいときに"cd Document"などするわけですがこのDocumentのところ
を自分が入力したものにしたいわけです。(入力するため毎回変わります。)
また、これの""のなかに文字列を挿入するにはどうすればいいでしょうか。
どのようにすればいいでしょうか。
ソースをいただけないでしょうか。
文字列の挿入について。
Re: 文字列の挿入について。
なるほど。"のエスケープや、不正な入力に対するセキュリティに気をつけるといいと思います。string!! さんが書きました:system関数を使ってwindows上でコマンドを実行したいときにsystem("dir");などするわけですが、
windowsのcdコマンドを使いたいときに"cd Document"などするわけですがこのDocumentのところ
を自分が入力したものにしたいわけです。(入力するため毎回変わります。)
言語が指定されていないようですが、とりあえずコードタグの表示にしたがってC++で書いてみました。
#include <cstdio>
#include <string>
std::string insert_text_in_double_quotes(const std::string& target, const std::string& string_to_insert) {
std::string ret = target;
std::string::size_type start_pos = 0;
std::string::size_type length_to_insert = string_to_insert.size();
for (;;) {
std::string::size_type next = ret.find("\"\"", start_pos);
if (next == std::string::npos) break;
ret.insert(next + 1, string_to_insert);
start_pos = next + length_to_insert + 2;
}
return ret;
}
int main(void) {
std::string text = "aiueokakikukeko -a \"\"";
std::string ret = insert_text_in_double_quotes(text, "文字列");
puts(ret.c_str());
return 0;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 文字列の挿入について。
ありがとうございます。
はいc++です。
system関数に変数を渡すにはどうすればいいのでしょうか。
また、C言語、C++を勉強する上でおすすめの本がありましたら教えてください。
はいc++です。
system関数に変数を渡すにはどうすればいいのでしょうか。
また、C言語、C++を勉強する上でおすすめの本がありましたら教えてください。
Re: 文字列の挿入について。
「system関数に変数を渡す」という概念がよくわからないですが、変数が持っているデータなら普通に渡せばいいのではないでしょうか?string!! さんが書きました:はいc++です。
system関数に変数を渡すにはどうすればいいのでしょうか。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 文字列の挿入について。
実はC++がどういうものか良く分かっていない気がしないでも無いですが、メインとしてC++をやるならC言語は不要だと思いますので、「ロベールのc++入門講座」などを買われてはどうでしょうか。ちなみに、とても難しいです。
【補足】辞書並みの厚さの本なので、私はこんなものをこれから入門するんだという覚悟を決めることが出来る本だと思います。
【補足】辞書並みの厚さの本なので、私はこんなものをこれから入門するんだという覚悟を決めることが出来る本だと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。