文字列は、この形式である:文字列から2 intをコピーするにはどうすればよいですか?
123 456\n
私の基本的な考え方は、forループによって空白を見つけることです:
int i=0;
for (i=0;isdigit(str[i]);i++){
}
char *dest1;
strncpy(dest1, str, i-1);
dest1[i]='\0';
そして第二にint型のために、私は再びそれをした:
をint j=i+1;
for (;isdigit(str[j]);j++){
}
char *dest2;
strncpy(dest2; (str+j); j-i);
dest2[j-i+1]='\0';
int from = atoi(dest1);
int to = atoi(dest2);
しかし、私がこれを2回目にしたとき、Xcodeは「関数に似たマクロ呼び出しに引数が少なすぎる」と答えました。& & '表現結果は未使用 'となります。
しかし、彼らはまったく同じ構文です...誰かが私が間違っていたことを教えてください?
そのため、これが定義されていない、 'dest1'または' dest2'を初期化していません。 – EOF
私はそれらを初期化した後もまだ2つのエラーがあります –
もう1つのスニペットで 'strncpy()'の引数の間に ';'の代わりに間違って ';'を使用します。しかし、このコードには、プログラムが未定義の振る舞いをする可能性が高い他の多くの欠陥があります。 – EOF