1樓:手機使用者
;"上面這句話應該不對吧?小寫字母全部轉換成大寫字母就是對應ascii碼減32,你這個'z'-'a'的值是25.
另外贊同樓上說的“還可以按照常識,比如操作文字檔案都用ascii,對於二進位制檔案,用二進位制。 ”但這不是絕對的,文字檔案用ascii,主要是這些資訊本來就是以自然文字的形式表達,你用記事本開啟這些ascii碼儲存的文字,一目瞭然知道了想要反應的資訊。如果按照二進位制的方式讀寫這些本來要用ascii碼錶達的東西,用記事本開啟就只能看到亂碼。
但並不是說以二進位制操作就不能正確獲取內容。用二進位制操作文字檔案通常比用ascii方式生成的檔案要小得多。
2樓:禮儀常識
#include
#include
int main()
printf("enter the char\n");
ch=getchar();
while(ch!='q') /*用q來跳出迴圈比較方便*/
fclose(pfile);
pfile=fopen(filename,"r");
rewind(pfile);/*為什麼這裡用rewind()回到檔案的 開頭後執行是錯的*/
printf("%d\n\n",a); /*這裡的a只是測試之用,可知這裡沒有錯誤*/
ch=fgetc(pfile);
while(ch!=eof)
printf("the end of programing!\nenter any key to continue...");
getch();
**如下:
#include
#include
int main()
printf("enter the char\n");
ch=getchar();
while(ch!='q')
fclose(pfile);
pfile=fopen(filename,"r");
rewind(pfile);
ch=fgetc(pfile);
while(ch!=eof)
printf("the end of programing!\nenter any key to continue...");
getch();}
3樓:匿名使用者
ch=getchar();
while(ch!='!')
用getchar();時,在鍵盤上按一個字元後,要按回車才能讀取進去,問題不出在putchar()上。
getchar();的用途是從從標準輸入流讀取一個字元,讀回車符時退出。getchar();永遠只向快取中輸入一個字元。
用getchar();時,在鍵盤上按一個字元後,要按回車才能讀取進去;用getch();時,在鍵盤上按一個字元馬上就被讀取進去,不用按回車,因此可以作為“按任意鍵繼續”的執行語句。
看下面的修改:(但有無回顯的問題)
ch=getch();
while(ch!='!')
getch()是從鍵盤接受一個無回顯(螢幕看不見輸入字元,就是沒有輸出到顯示裝置),不緩衝的輸入,並返回對應按鍵的字元
一般用於等待一個輸入,讓螢幕暫停一下,方便看程式執行的結果
修改一下,看詳細結果:
必須讀一次 就do-while 算了
do while(ch!='!');
flcose(pfile); //增加 關閉檔案後,自動重新整理緩衝區 沒有可讀寫時的重新整理問題
pfile=fopen(filename,"r");
上面兩句保留(不註釋)應該沒有問題,你的第二個問題,可能如下:
rewind(pfile);//為什麼這裡用rewind()回到檔案的 開頭後執行是錯的?????
//你開始開啟的是隻寫的檔案,rewind()之後 仍然不能讀的拉
//改法:或者開啟為可讀可寫的, 或者關閉後重新開啟來讀
//當你用可讀可寫的方式開啟時,rewind後可能也沒有輸出,需要重新整理
//緩衝區fflush(pfile)的字元內容到檔案後 再rewind才有內容可讀
//方式:fflush(pfile); rewind(pfile);
ch=fgetc(pfile);
while(ch!=eof)
printf將"%c"輸出到標準輸出檔案的緩衝區中(緩衝區在記憶體上),fflush(stdout)將緩衝區中的內容強制重新整理到,並將其中的內容輸出到顯示器上("\n"回車換行 == fflush(stdout)+換行)
c語言:從鍵盤輸入一個字串,將其中的小寫字母全部轉換成大寫字母,然後輸出到一個磁碟檔案test中儲存
4樓:匿名使用者
#include
void main()
for(i=0;i='a'&&str[i]<='z')str[i]-=32;
p=fopen("c:\\test.txt","w");
fputs(str,p);
fclose(p);}
5樓:匿名使用者
就是這樣大小寫的碼的差距是定的,155762931
輸入一個字串,將其中的大寫字母改為小寫字母,小寫字母改為大寫字母,然後輸出!
6樓:百度使用者
以下程式通過測試. 有問題請追問!#include void main()
else if(*p>='a'&&*p<='z')p++;
}printf("%s\n",s);
}附圖:
7樓:土匪平頭
彙編???
data segment
any db 22
db 10
db 20 dup(?)
data ends
code segment
assume cs:code,ds:datastart:
mov ax,data
mov ds,ax
mov bx,offset any
add bx,2
call input
call _test
call show
mov ah,4ch
int 21h
show proc
mov cx,10
push bx
l1: mov ah,2
mov dl,byte ptr [bx]
int 21h
inc bx
loop l1
pop bx
retshow endp
input proc
push bx
mov ah,10
lea dx,any
int 21h
pop bx
retinput endp
_test proc
push bx
mov cx,10
ls: cmp byte ptr [bx],'a'
jb ll
lb: cmp byte ptr [bx],'z'
ja exit
sub byte ptr [bx],20hinc bx
loop ls
jmp exit1
ll: cmp byte ptr [bx],'z'
ja exit
cmp byte ptr [bx],'a'
jb exit
add byte ptr [bx],20hinc bx
loop ls
jmp exit1
exit: mov byte ptr [bx],' '
inc bx
loop ls
exit1: pop bx
ret_test endp
code ends
end start
c語言程式設計,從鍵盤輸入一字串,將其中的小寫字母全部轉換成大寫字母
8樓:愛夏的你呀
小寫字母全部轉換成大寫字母的源**如下:
#includevoid main()
printf("input a string:\n");
gets(str);
while (str[i])
fclose(fp);
fp=fopen("test.txt","rt");
fgets(str,100,fp);
printf("%s\n",str);
fclose(fp);
}擴充套件資料1、程式語言終究開始引入了函式的概念,即允許程式對**進行斷行。如果已經完成,不再使用goto語句來表示**的斷行。函式呼叫後,函式將回到下一條指令。
2、如果goto語句已經過時,那麼對程式建立無限迴圈應該如何去做呢,這是一些硬體工程師可能會疑惑的問題。畢竟,之前都是通過建立一個goto語句然後再返回到main語句。
9樓:多xdl點事
**如下:
#include
#include
#include
int main()
fputc('#',fp);
if(fclose(fp)!=0)
printf("file cannot be closed \n");
else
printf("file is now closed \n");
return 0;
}程式執行如下:
擴充套件資料c語言對檔案輸入可以用fputc函式,只需要迴圈遍歷輸入,把輸入的每個字串進行大寫的轉換,大小寫轉換可以通過c語言內建於ctype.h的toupper函式來轉換,沒轉換一個字串可以直接寫入到檔案中,最後在追加一個#好字元,就完成功能了。
10樓:匿名使用者
|#include
int main()
return 0;}
11樓:愛笑的筆跡
#include
#include
void main()
fclose(fp);
fp=fopen("file.txt","r");
ch=fgetc(fp);
while(ch!=eof)
printf("\n");
fclose(fp);}
12樓:匿名使用者
#include
#include
void main()
while(1);
fclose(fp);}
從鍵盤輸入一個字串,將其中的小寫字母全部轉換為大寫字母,然後輸出到一個磁碟檔案“test”中儲存
13樓:匿名使用者
#include
int main()
fclose(fp);
}問題描述不夠清楚,主要是輸出到磁碟檔案的是僅僅那些轉成大寫的小寫字母呢,還是包括所有輸入的字元。上面的**是按將所有的輸入字元存檔來編寫的。
14樓:
#include
#include
using namespace std;
int main()
ch = str[++i];
}str[i]=0;
cout< ofstream outfile; outfile.open("test"); outfile.write(str, i); outfile.close();} 1 新建一個工程和.c檔案 輸入標頭檔案和主函式。2 定義變數型別。3 呼叫cpy函式。4 定義一個函式,並定義變數型別。5 用一個for 語句和if語句判斷是否為母音。6 最後加一個字串結束符,並在主函式中輸出。7 編譯。執行得到最後結果。程式設計實現 輸入兩個字串,將第二個字串連線到第一個字串的... 實現該功能的吃語言具體 如下 include include include int main file fp int i 0 char str 100 printf 請輸入字串,並且以感嘆號 結束 n if fp fopen test.txt w null 開啟輸出檔案並使fp指向此檔案 prin... include includevoid fun char str,char ch p str length 0 int main 我都暈死,把c 程式放在c環境執行肯定出錯啦 include include char delch const char str,char ch memset resul...從鍵盤輸入兩個字串,將字串連線到字串後面,輸出連線後的結果
編寫程式,從鍵盤輸入一行字串,將其中的小寫字母全部轉換成大
程式設計實現從鍵盤輸入字元ch和字串str,利用字元指