『スラスラ わかるC言語』 著 岡嶋 裕史 先生
現在勉強中の参考書
『独習C 第4判』 著 ハーバート・シルト 訳 トップスタジオ
『苦しんで覚えるC言語』 著 MMGames
『アルゴリズムの基礎 第2版』 著 iTEC教育研究開発部
もし この日記を読みに来ている方がいたとしたら、これだけではつまらないので、
以前に書いて、放置している C codeをここで紹介します。
#include
#include
int main(int argc, char *argv[])
{
int t_size, // テキスト文字数
p_size, // 置換前文字列の文字数
n_size; // 置換後文字列の文字数
int i, // 検索開始位置
j, // 各種繰り返し処理の制御変数
k; // 置換前文字数 と 置換後文字数 の差を保持させる
char T[80], // テキスト
P[30], // 置換前文字列
N[30]; // 置換後文字列
// コマンドライン引数を確認する
if (argc != 4) {
fputs("プログラムの使用方法:: \n", stdout);
return 1;
}
// コマンドライン引数の文字列を配列にコピーする
strcpy(T, argv[1]);
strcpy(P, argv[2]);
strcpy(N, argv[3]);
// 文字数を調べて、それぞれの変数に代入する
t_size = strlen(argv[1]);
p_size = strlen(argv[2]);
n_size = strlen(argv[3]);
/* それぞれの、char配列とその文字数の確認 */
//fprintf(stdout, "配列T %s サイズ %d\n", T, t_size);
//fprintf(stdout, "配列P %s サイズ %d\n", P, p_size);
//fprintf(stdout, "配列N %s サイズ %d\n", N, n_size);
i = 0;
j = 0;
while (j p_size - 1) {
i--;
if (p_size > n_size) {
j = i + p_size;
k = p_size - n_size;
while (j = i + p_size) {
T[j + k] = T[j];
j--;
}
t_size += k;
T[t_size] = '\0';
}
j = 0;
while (j <= n_size -1) {
T[i + j] = N[j];
j++;
}
}
fprintf(stdout, "置換処理後の文字配列 %s\nサイズ %d\n", T, strlen(T));
return 0;
}
『C言語』で実装してみたものです。