簡體   English   中英

將句子傳遞給 C++ 中的 char 數組

[英]Pass a sentence to a char array in c++

我如何將帶有空格和大小寫字母的句子作為字符數組的輸入,例如 char arr[]。 有沒有辦法在不使用 cstring 庫的情況下做到這一點?

#include <iostream> 
using namespace std; 
  
int palindrome(char arrC[], int indexS, int indexE) 
{ 

    if(indexS>=indexE)
        return 1;
    if(arrC[indexS] == arrC[indexE])
        return palindrome(arrC, ++indexS, --indexE);
    else 
        return 0;
} 
  
// Driver code 
int main() 
{ 

    //string arrC = "A man a plan a canal Panama";
    char arrC[50]; //= { 'c', 'i', 'v', 'i', 'c' };
    cout<<"Enter your string: "<<endl;
    getline(cin, arrC);
    int size = sizeof(arrC) / sizeof(arrC[0]); 
    if(palindrome(arrC, 0, --size)==true)
        cout << "The string is a palindrome!" << endl;
    else
        cout << "The string is not a palindrome. It's just a regular string." << endl;
  
    return 0; 
} 

這是它給出的錯誤

在此處輸入圖片說明

執行此操作的簡單方法是使用std::cin.getline() ,如下使用:

  • 它的第一個參數應該是您想要存儲輸入的 c 樣式字符串數組。
  • 傳入的第二個參數應該是寫入“您的第一個參數”的最大字符數(包括終止的空字符)。

這是我快速制作的一個示例:

#include <iostream>
int main() {

    char my_arr[100]{};
    std::cin.getline(my_arr, 100);


    system("pause");
    return 0;
}

暫無
暫無

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

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