2016-03-27 89 views
-1

這是我到目前爲止的代碼:陣列分離---ç

#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

您可以通過格式化模板

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

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

使用scanf函數在這種情況下,輸入'42 text1 text2'意志給n == 42,rest1將包含「文本1」和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