文字列の配列があり、各文字列をいくつかの異なる部分に分ける必要があります。文字列には、任意のスペースとタブが含まれる場合と含まれない場合があります。
Example string:
str[0]: " apple e 3 a a fruit "
I need it to become:
word[0] = "apple"
row[0] = "e"
column[0] = "3"
direction[0] = "a"
clue[0] = "a fruit"
そのため、先頭/末尾の空白、およびフィールド間にある空白を削除する必要があります (手がかりフィールドを除く。手がかり内のスペースは保持する必要があります)。これを行う方法が本当にわかりません。私にはいくつかの基本的なアイデアがありますが、それらを実装する方法がわかりません。また、実行可能かどうかもわかりません (コーディングが初めてで、まったく無知です)。これまでに試したことはすべて、コンパイルできないか、機能しませんでした。
最初のフィールドを引き出すための私の最近の試み:
for (i=0; i<MAX_LENGTH; i++) {
for (j=0; j<MAX_INPUT; j++) {
if (isSpace(&input[i][j]) == FALSE) {
//if whitespace is not present, find the location of the next
//space and copy the string up til there
static int n = j;
for (n=0; n<MAX_INPUT; n++) {
if (isSpace(&input[i][n]) == TRUE) {
strncpy(word[i],&input[i][j],(n-j));
//printf("Word[%d]: %s\n",i,word[i]);
break;
}
}
}
}
}
うまくいかなかったとしても、それほど驚くことではありません。私はまだこの問題に頭を悩ませていません。助けてください?