本實例演示如何從鍵盤輸入一個字符串,將其中所有小寫字母轉換為大寫,然後將結果保存到磁盤文件 test 中。輸入以感嘆號(!)結束。
程序流程簡單明確:
gets() 獲取用戶輸入的字符串。"w")打開文件 test,若打開失敗則報錯退出。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) 並手動去除換行符。