首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例98:字符串大寫轉換並寫入文件

     編輯:C 語言實例練習

C語言練習實例98:字符串大寫轉換並寫入文件

本實例演示如何從鍵盤輸入一個字符串,將其中所有小寫字母轉換為大寫,然後將結果保存到磁盤文件 test 中。輸入以感嘆號(!)結束。

程序分析

程序流程簡單明確:

  1. 聲明文件指針、字符數組及相關變量。
  2. 使用 gets() 獲取用戶輸入的字符串。
  3. 遍歷字符串,利用 ASCII 碼差值(小寫字母比大寫字母大 32)將小寫轉為大寫。
  4. 以寫模式("w")打開文件 test,若打開失敗則報錯退出。
  5. 用 fprintf() 將轉換後的字符串寫入文件,最後關閉文件。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    FILE *fp = NULL;
    char str[50];
    int i, len;

    printf("輸入一個字符串:\n");
    gets(str);                  // 注意:gets() 不安全,實際開發建議用 fgets()
    len = strlen(str);

    for (i = 0; i < len; i++) {
        if (str[i] >= 'a' && str[i] <= 'z')
            str[i] -= 32;       // 小寫轉大寫
    }

    if ((fp = fopen("test", "w")) == NULL) {
        printf("error: cannot open file!\n");
        exit(0);
    }

    fprintf(fp, "%s", str);
    fclose(fp);
    system("pause");
    return 0;
}

運行示例

輸入一個字符串:
www.runoob.com

程序執行後,當前目錄下會生成 test 文件,內容為 WWW.RUNOOB.COM。

注意事項

  • gets() 已被 C11 標準移除,存在緩衝區溢出風險,建議改用 fgets(str, sizeof(str), stdin) 並手動去除換行符。
  • 本例僅演示基本文件操作與字符大小寫轉換邏輯。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved