簡體   English   中英

用用戶輸入操作C語言中的字符串

[英]Manipulating strings in C with user input

我正在為我的comp sci類開發一個程序,問題要求從用戶那里獲取命令以及該字符串。 然后,使用“ reverse”來反轉后面的字符串,或者使用“ create”來打印后面的字符串。 反向輸出應保持單詞反向,然后打印反向的字符串。

/* for Reverse command */
else if(strcmp(str,"reverse ") > 0)
{
    reverse(str);
    printf("Reverse of string: %s\n", str);
}

以下功能用於反轉單詞:

void reverse(char *string)
{
    int length, i;
    char *begin, *end, temp;

    length = strlen(string);

    begin = string;
    end = string;

    for (i = 0 ; i < (length - 1) ; i++)
    end++;

    for (i = 0 ; i < length/2 ; i++)
    {
       temp = *end;
       *end = *begin;
       *begin = temp;

     begin++;
     end--;
    }
}

輸出反轉所有單詞並打印。 有沒有辦法在傳遞給反向函數之前先斷開字符串的反向部分?

在調用函數reverse之前,使用

char *ptr=strchr(str,' ');
str=++ptr;

切斷str “反向”。 需要包含string.h才能使用strchr strchr返回一個指針,該指針指向字符串str字符' '的第一個匹配項;如果找不到該字符,則返回NULL ptr賦值一次,然后將其分配給str以從字符串中刪除空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM