阿摩線上測驗 登入

申論題資訊

試卷:95年 - 095年地方資訊處理(四等)#32439
科目:程式設計
年份:95年
排序:0

申論題內容

二、請利用迴圈控制指令,由外部資料檔讀入欲反轉字串,將此字串反轉後,印出此字 串。請以 C、C++、JAVA 或 VB(Visual Basic)中任一程式語言作答。(20 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm> // for std::reverse
int main() {
    std::string filePath = "input.txt"; // 指定輸入檔案的路徑
    std::ifstream inFile(filePath); // 建立檔案輸入流對象
    if (!inFile.is_open()) {
        std::cerr << "無法開啟檔案: " << filePath << std::endl;
        return 1; // 錯誤處理:無法開啟檔案
    }
    std::string inputString;
    if (std::getline(inFile, inputString)) { // 從檔案讀取一行
        std::reverse(inputString.begin(), inputString.end()); // 反轉字串
        std::cout << "反轉後的字串為: " << inputString << std::endl; // 輸出反轉後的字串
    } else {
        std::cerr << "檔案是空的或讀取時發生錯誤。" << std::endl;
        return 1; // 錯誤處理:檔案空或讀取失敗
    }
    inFile.close(); // 關閉檔案流
    return 0;
}
這段程式碼假設你有一個名為input.txt的文本檔案,其中包含你想要反轉的字串。程式首先嘗試打開這個檔案,然後讀取檔案中的字串,使用std::reverse函數將其反轉,最後輸出到標準輸出中。如果無法打開檔案或檔案為空,程式會輸出錯誤信息並終止執行。
要運行這個程式,你需要將其保存到一個.cpp檔案中,使用C++編譯器(如g++或clang++)進行編譯,然後執行生成的可執行檔。在運行之前,確保input.txt檔案位於與可執行檔相同的目錄中,或者修改程式中的filePath變量,使其指向正確的檔案路徑。