質問: a という風にaに設定した値2をbに代入したいのですが 上のような記述だとbの内容は文字列aになってしまいます・・・ このようなプログラムでいう変数の値を代入するみたいなことは iniファイルではできるのでしょうか?
回答: 「iniファイルの中の、変数の値」をどう取り扱うかは、アプリケーション任せです。 >上のような記述だとbの内容は文字列aになってしまいます・・・ 取り出した値が「a」だった場合、それを「文字列だ」と扱えば、文字列になってしまいます。 しかし、それを「変数名だ」と扱えば、それは「変数名」です。 文字列と思うか変数名だと思うかは、アプリケーションの自由です。 そして、それを変数名だと解釈し、iniファイルの中の「a="2"」の行から「2」を取り出し直すのも、アプリケーションの自由です。 「文字列と思うか、変数名と思うかは、アプリケーションの自由」なのですから「最初に取り出した『a』を、文字列だと思わず、変数名だと思えば良い」だけの話です。 ただし、単純に「文字列が書いてあったら、それは変数名だ」などと安直な処理をすると「iniファイルの変数に、文字列を設定できなくなってしまう」のでご注意を。 なので、例えば b=a ← この場合は、文字列「a」が設定されていると解釈する b=%a ← 先頭に%が1個あった時だけ、変数名「a」が設定されていると解釈する b=%%a ← 先頭の連続する2個の%は「文字の%が1個」と解釈し、文字列「%a」が設定されていると解釈する などのように「ちょっとした工夫」が必要でしょう。 もちろん、設定した値をiniファイルに書き出す際も「設定しようとした文字列の先頭に%があったら、先頭に%をもう1個足してから書き出す」などの処理が必要です。 「取り出した値をどう用いるかは、アプリケーションの自由であり、アプリケーションの責任である」と言う事を忘れないように。 「文字列が設定されていたから、それは文字列だ」と思考停止してしまうのは「無責任」ですから、アプリケーションがちゃんと責任を持って「しかるべき処理」をしてあげなければなりません。