私はパーサーを作ろうとしています。私はちょうどポインタで作業しているバージョンがありますが、ポインタ(char * p)からCの文字列(char p [])に変換する方法を知りたいので、どのように動作するかをよく知る必要があります。Cの文字列と複数のポインタのCの文字列を解析する
私が機能を持っている...
int makearg(char s[], char**args[])
{
char *arg1
char arg2[50];
//I'm aware these don't assign the args pointer value to arg2.
arg2[0] = args[0];
//And I'm aware this does.
arg1 = (*args)[0]);
}
私の質問は等価であるものです。あるいは何が起こっているのかについての簡単な説明。他のソリューションは実際にどのように動作するかを実際に言わずに作業コードを提供します。
これは私のmem割り当てがポインタと[]を使っているとは関係ありません。そしてそれはうまく動作します。誰かが時間を持っている場合でも、それがどのように機能するかはほとんど分かりません。
(*args)[i] = (char*) malloc(sizeof(char) * tokenLen);
http://www.cs.bu.edu/teaching/c/string/intro/ – CabDude
Welcome to StackOverflow!どのコンパイラエラーについてあなたは尋ねていますか?どのような言葉、特に、それらのエラーからあなたは混乱していますか?ここに例を投稿するときは、あなたが尋ねている問題のみを生成していることを確認する必要があります。それ以外の問題はありません。これを行うには、[MCVE](http://stackoverflow.com/help/mcve)を作成します。 – Sebivor
char *からchar **への変換が無効です。種類が違うことは分かっていましたが、どういうふうに理解できませんでした。私がコンパイルするたびに私にエラーが出て、エラーを取り除くために調整しますが、ポインタは間違っています。だから私は今それを得ると思う。本当にありがとう。 – cba1067950