2016-03-27 9 views
-1

は、これはこれまでのところ、私のコードです:ユーザーが置かれますアレイ分離--- C

#include <stdio.h> 
#define DIM 100 
int main(){ 

    char rest[DIM]; 
    scanf ("%s", rest); 
    char first; 
    first = rest[0]; 

入力は"1 dsdsff e"または"2 dej deer"のようなもののどちらかになります。 restの異なる単語を" "で区切って保存するにはどうすればよいですか?私はすでにそれを保存しているので、最初の番号を無視します。

+1

は 'のfgetsを使用してそれを読む()' 'とはstrtok()は'トークン化するために使用します。 –

答えて

1

あなたは、rest1は「テキスト1」を含んでいます'42 text1 text2'意志がn == 42与えた場合の入力でフォーマットテンプレート

int n; 
char rest1[DIM], rest2[DIM]; 

scanf("%d %s %s", &n, rest1, rest2); 

でscanf関数を使用することができますし、rest2は、「テキスト2」

+0

これは、rest1が "text1"になり、最初のスペースが欲しくないということです。 – Aen

+1

@Aen: '%s'は空白で区切られた文字列を読み込むので、' rest1'や 'rest2'に空白は入れません。 。 '%s 'の前のスペースは無関係です。スペースは無関係にスキップされます。 –

+0

@ChrisDoddええ、そうです。私は間違ったことをしていた。とにかく、これは良い解決策ですが、入力が単に "1"(これは忘れてしまいました)です。 – Aen

-1

あなたは、文字列内に保管されているが含まれています正しい配列であれば、その配列を区切り記号 ''で分割する必要があります。ここにあなたを助けるかもしれないコードがあります。

Split string with delimiters in C

+0

これは答えよりもコメントです。重複が見つかった場合は、質問にフラグを立てます。 – Olaf