第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么辦法通過修改下面的語句來解決這個問題嗎?

有什么辦法通過修改下面的語句來解決這個問題嗎?

C++
慕標琳琳 2023-03-03 21:17:03
具體來說,編寫下面語句ifstream fin("a.txt"); ofstream fout("b.txt"); char c; while(fin>>c){ fout<<c; } 執(zhí)行后,a.txt中內容比如說是“a b c d e”字母間都有空格的,但在輸出的b.txt中就變成了“abcde”,空格都沒了,是不是ifstream會自動舍去空格?
查看完整描述

2 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

1、C語言標準庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位于stdio.h頭文件當中。例如:fopen、fclose函數用于文件打開與關閉;fscanf、fgets函數用于文件讀??;fprintf、fputs函數用于文件寫入;ftell、fseek函數用于文件操作位置的獲取與設置。
2、例程:

#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
return 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字符
fgets(c,100,fp1);//從輸入文件讀取一行字符串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對于文件首的偏移字節(jié)數

fputs(c,fp2);//向輸出文件寫入一行字符串
fputc(b,fp2);//向輸出文件寫入一個字符
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當于保存
return 0;
}


查看完整回答
反對 回復 2023-03-08
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

你可能對fin>>c這一句理解有誤了,每次會從輸入流中讀取字符串,字符串之間的由換行符,空格或者制表符分割,所以在例子中,讀取了一個a之后遇到空格就截斷了,輸出一個a。再往下讀,遇到b和一個空格,就又截斷了,輸出b,以此類推,而不是按你說的自動舍去空格。
若要修改的話,可以試試用readline()函數,讀取一行:string s = fin.readline().

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 115 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號