[英]Capitalizing function isn't working on Visual Studio 2013 (C++)
我正在嘗試使自己的函數在C ++中大寫一個字母(僅stdio.h!),該函數未在VS 2013上按預期方式工作,它總是給我奇怪的輸出(有點像alpha的符號) ,但是它(該功能)適用於2010年,
我為大寫字母所做的功能如下:
#include <stdio.h>
int main(){
char i;
scanf_s("%c", &i);
fflush(stdin);
printf("%c", i -= 32);
getchar();
return 0;}
與scanf不同, scanf_s要求為c,C,s,S或[類型的所有輸入參數指定緩沖區大小,如下所述:
http://msdn.microsoft.com/en-us/library/w40768et%28v=vs.80%29.aspx
所以這行:
scanf_s("%c", &i);
實際上應該是:
scanf_s("%c", &i, 1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.