(資料圖片僅供參考)
拿chatgpt去試驗(yàn)了一下,一個(gè)挺小的需求,但是前后還是更改了三次,體驗(yàn)就是它可以不斷改進(jìn)之前實(shí)現(xiàn)的代碼,但需要提需求的人比較清楚需求內(nèi)的細(xì)節(jié),差不多類似于,我有想法,它來(lái)實(shí)現(xiàn),還是可以提高不少效率的。具體體驗(yàn)如下:
我:請(qǐng)寫(xiě)一段C語(yǔ)言代碼,將2M大小的文件填充0xff到30M,要求不能申請(qǐng)超過(guò)1K大小的內(nèi)存?
CHAT-GPT:這是一個(gè)C語(yǔ)言的代碼示例,它使用了一個(gè)1K的緩沖區(qū)來(lái)填充文件。請(qǐng)注意,這個(gè)代碼沒(méi)有包含錯(cuò)誤處理,你可能需要根據(jù)你的實(shí)際需求來(lái)添加。#include#define BUFFER_SIZE 1024void fill_file(const char* filename) { FILE* file = fopen(filename, "ab"); if (file == NULL) { printf("無(wú)法打開(kāi)文件\n"); return; } char buffer[BUFFER_SIZE]; for (int i = 0; i < BUFFER_SIZE; i++) { buffer[i] = 0xff; } for (int i = 0; i < (30 * 1024 * 1024) / BUFFER_SIZE; i++) { fwrite(buffer, 1, BUFFER_SIZE, file); } fclose(file);}int main() { fill_file("test.txt"); return 0;}
CHAT-GPT:這段代碼首先打開(kāi)一個(gè)文件,然后創(chuàng)建一個(gè)1K大小的緩沖區(qū)并填充0xff。然后,它將這個(gè)緩沖區(qū)寫(xiě)入文件,直到文件的大小達(dá)到30M。最后,它關(guān)閉文件。
我:填充的文件大小存在問(wèn)題,忽略了原始文件的大小,請(qǐng)修改
CHAT-GPT:對(duì)不起,我犯了一個(gè)錯(cuò)誤。你是對(duì)的,我應(yīng)該在原始文件大小的基礎(chǔ)上添加數(shù)據(jù),直到文件大小達(dá)到30M。以下是修改后的代碼:
#include#define BUFFER_SIZE 1024void fill_file(const char* filename) { FILE* file = fopen(filename, "ab"); if (file == NULL) { printf("無(wú)法打開(kāi)文件\n"); return; } char buffer[BUFFER_SIZE]; for (int i = 0; i < BUFFER_SIZE; i++) { buffer[i] = 0xff; } fseek(file, 0, SEEK_END); long current_size = ftell(file); for (int i = 0; i < ((30 * 1024 * 1024) - current_size) / BUFFER_SIZE; i++) { fwrite(buffer, 1, BUFFER_SIZE, file); } fclose(file);}int main() { fill_file("test.txt"); return 0;}
CHAT-GPT:這段代碼首先打開(kāi)一個(gè)文件,然后創(chuàng)建一個(gè)1K大小的緩沖區(qū)并填充0xff。然后,它將文件指針移動(dòng)到文件的末尾,并獲取當(dāng)前的文件大小。然后,它將緩沖區(qū)寫(xiě)入文件,直到文件的大小達(dá)到30M。最后,它關(guān)閉文件。
我:當(dāng)前填充的方式仍可能會(huì)超出目標(biāo)30M大小,請(qǐng)對(duì)數(shù)據(jù)非1K對(duì)齊的情況進(jìn)行處理,得到剛好30M大小的文件CHAT-GPT:你是對(duì)的,如果文件大小不是1K的倍數(shù),那么最后一次寫(xiě)入可能會(huì)使文件大小超過(guò)30M。我們可以在最后一次寫(xiě)入時(shí)只寫(xiě)入需要的字節(jié)數(shù),以確保文件大小正好是30M。以下是修改后的代碼:#include#define BUFFER_SIZE 1024void fill_file(const char* filename) { FILE* file = fopen(filename, "ab"); if (file == NULL) { printf("無(wú)法打開(kāi)文件\n"); return; } char buffer[BUFFER_SIZE]; for (int i = 0; i < BUFFER_SIZE; i++) { buffer[i] = 0xff; } fseek(file, 0, SEEK_END); long current_size = ftell(file); long target_size = 30 * 1024 * 1024; long remaining = target_size - current_size; while (remaining > 0) { int write_size = remaining > BUFFER_SIZE ? BUFFER_SIZE : remaining; fwrite(buffer, 1, write_size, file); remaining -= write_size; } fclose(file);}int main() { fill_file("test.txt"); return 0;}
CHAT-GPT:這段代碼首先打開(kāi)一個(gè)文件,然后創(chuàng)建一個(gè)1K大小的緩沖區(qū)并填充0xff。然后,它將文件指針移動(dòng)到文件的末尾,并獲取當(dāng)前的文件大小。然后,它將緩沖區(qū)寫(xiě)入文件,直到文件的大小達(dá)到30M。在最后一次寫(xiě)入時(shí),它只寫(xiě)入需要的字節(jié)數(shù),以確保文件大小正好是30M。最后,它關(guān)閉文件。
關(guān)鍵詞:
凡注有"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"或電頭為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的稿件,均為實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來(lái)源為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活",并保留"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的電頭。
熱點(diǎn)
- 【環(huán)球時(shí)快訊】世界銀行新行長(zhǎng)彭安杰:中國(guó)不是競(jìng)爭(zhēng)對(duì)手
- 國(guó)家金監(jiān)總局披露第一季度銀行業(yè)保險(xiǎn)業(yè)消費(fèi)投訴情況:一季度接收并轉(zhuǎn)送銀行業(yè)消費(fèi)投訴超10萬(wàn)件
- 朱星杰承認(rèn)整容(iu承認(rèn)整容)|天天熱消息
- 創(chuàng)意總監(jiān)的工資是多少_創(chuàng)意總監(jiān)的工作職責(zé) 全球時(shí)訊
- 世界今亮點(diǎn)!一年中啥時(shí)候買車便宜_一年中什么時(shí)候買車最便宜
- 室內(nèi)欄桿高度標(biāo)準(zhǔn)尺寸
- 6月16日F5G概念板塊漲幅達(dá)3%-每日熱門
- 一季報(bào)虧損股價(jià)近期大漲 賽力斯回應(yīng):股價(jià)受很多因素影響 公司不會(huì)“帶帽” 環(huán)球速訊
- 探索建設(shè)全省性研發(fā)、轉(zhuǎn)化與創(chuàng)投綜合體 環(huán)球精選
- 多地又掀購(gòu)車補(bǔ)貼潮 汽車新一輪價(jià)格戰(zhàn)會(huì)不會(huì)卷土重來(lái)?
頭條
- 全球訊息:杭州亞運(yùn)會(huì)獎(jiǎng)牌和推廣歌曲發(fā)布
- 官方解讀:5月經(jīng)濟(jì)數(shù)據(jù)發(fā)布 傳遞出什么信號(hào)?
- 新華全媒+|大院曬糧,塔內(nèi)烘干——山東夏糧產(chǎn)后服務(wù)見(jiàn)聞 天天新視野
- 【當(dāng)前獨(dú)家】新華全媒+|高考考生們,這些“套路”騙局要當(dāng)心
- 三年了,永遠(yuǎn)不忘清澈的愛(ài)-當(dāng)前速遞
- “浙”村有點(diǎn)“潮”-環(huán)球微資訊
- 央行繼續(xù)“降息”:1年期MLF利率下調(diào)10個(gè)基點(diǎn) 全球簡(jiǎn)訊
- 倒計(jì)時(shí)100天丨杭州亞運(yùn)會(huì)精彩搶先看!
- 追光丨“薪火”相傳,何以良渚? 焦點(diǎn)快看
- 科普?qǐng)D解 | 攻克多項(xiàng)核心技術(shù)!我國(guó)首艘國(guó)產(chǎn)大型郵輪出塢 環(huán)球熱議