當前位置:首頁 » 存儲配置 » c語言自動存儲圖片

c語言自動存儲圖片

發布時間: 2023-07-22 02:03:17

A. c語言中FILE*fp是什麼意思

FILE 是系統定義的一種結構類型的名稱。

FILE *fp; 變數類型聲明。聲明 fp 是 FILE型指針,用於指向FILE類型 (文件結構)。

文件流-- 排成一隊,有先後次序的 輸入(或輸出)一串數據,駐留並通過 輸入輸出緩沖區,進出程序。如同水流般地流入或流出。它來自文件或寫入文件。

(1)c語言自動存儲圖片擴展閱讀:

FILE *fp的替換用法:

fp=fopen("test.dat", "w"); /*建立一個文字文件只寫*/

fclose(fp); /*關閉文件*/

fwrite(const void*buffer,size_t size,size_t count,FILE*stream);

1、buffer:是一個指針,對fwrite來說,是要輸出數據的地址。

2、size:要寫入的位元組數;

3、count:要進行寫入size位元組的數據項的個數;

4、stream:目標文件指針。

B. C語言 編寫程序 運行結果實現圖片上的功能

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{inta,b;
srand(time(0));
a=rand()%3;
printf("計算機輸入的為:%d ",a);
printf("0代表石頭,1代表剪刀,2代表布 ");
printf("請輸入一個數: ");
scanf("%d",&b);
printf("玩家輸入的是:%d ",b);
printf("計算機輸入的是:%d ",a);
if(a==b)printf("平局 ");
elseif((a-b+3)%3==2)printf("計算機贏了! ");
elseprintf("玩家贏了! ");
return0;
}

C. 如何用c語言讀取圖片

#include

using namespace std;

#define Twoto1(i,j,w) i*w+j

void createimage(unsigned char *&img, int w, int h)

{img = new unsigned char[w*h];}

void delateimage(unsigned char*img)

{delete []img;}

void readimage(unsigned char*img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp,fname, "rb");

if (fp == NULL){ cout << "error" << endl; return; }

size_t result;

result=fread(img , sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Reading error" << endl;

return;

}

else

cout << "Reading Ok!" << endl;

fclose(fp);

}

void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])

{

for (int i = 0; i for (int j = 0; j if (iw - 3 || j>h - 3)

image1[Twoto1(i,j,w)] = 0;

else

{

float temp = 0;

for (int m = 0; m<5; m++)

for (int n = 0; n<5; n++)

{

temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);

}

if (temp>255) image1[Twoto1(i, j, w)] = 255;

else if (temp<0) image1[Twoto1(i, j, w)] = 0;

else image1[Twoto1(i, j, w)] = temp;

}

}

void saveimage(unsigned char *img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp, fname, "wb");

if (fp == NULL) { cout << "error" << endl; return; }

size_t result;

result = fwrite(img, sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Write error" << endl;

return;

}

else

cout << "Write Ok!" << endl;

fclose(fp);

}

void main()

{

unsigned char *img;

unsigned char *img1;

float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };

//float moban[5][5] = { 0 };

int w = 512, h = 512;

createimage(img, w, h);

createimage(img1, w, h);

readimage(img, w, h, "E:ss.raw");

mobanjuanji(img, img1,w, h, moban);

saveimage(img, w, h, "E:ss_1.raw");

saveimage(img1, w, h, "E:ss_2.raw");

delateimage(img);

delateimage(img1);

}

(3)c語言自動存儲圖片擴展閱讀

C語言實現一個圖片的讀出和寫入

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//獲取文件名為filename的文件大小。

{

FILE *fp = fopen(filename, "rb");//打開文件。

int size;

if(fp == NULL) // 打開文件失敗

return -1;

fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。

size=ftell(fp);//獲取文件指針偏移量,即文件大小。

fclose(fp);//關閉文件。

return size;

}

int main ()

{

int size=0;

size=file_size("qw");

printf("%d ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}

D. C語言怎麼輸出一張圖片

輸出到文件的話,按照指定圖片格式,寫入文件即可。

電腦型號:微星 GF63 Thin 9SC

系統版本:Microsoft Windows 10

文本文件

1、打開電腦上要讀取的文本文件。



E. 求一段c語言代碼,題目:建立圖的存儲結構,能夠輸入圖的頂點和邊的信息,並存儲到相應存儲結構中

代碼


/*輸入:先輸入兩個數,代表點的數量和邊的數量,

再輸入各個邊,起點編號 > 終點編號,編號從0開始

例子:

6 10

0 3

0 4

1 4

1 3

3 5

0 1

4 5

5 2

4 2

4 3

輸出:

0 1 4 3 5 2

思路:

  1. 用vector建立鄰接表

  2. 計算每個點的入度

  3. 如果是偏序無環的,一定存在入度為0的點,輸出並且刪除它,同時刪除它出發的邊,更新其他點的入度

  4. 循環直到移除所有點,輸出順序就是拓撲排序

*/

#include<iostream>

#include<vector>

using namespace std;


int main() {

freopen("in.txt","r",stdin);//重定向輸入流//in.txt 建在程序所在的文件夾

int M,N;

scanf("%d%d",&M,&N);//M個點,N條邊

vector<int> maps[M];

int innode[M]={0};//入度

for(int i=0;i<N;i++)

{

int tx,ty;

scanf("%d%d",&tx,&ty);

maps[tx].push_back(ty);

++innode[ty];

}

for(int time=0;time<M;time++)

for(int i=0;i<M;i++)

{

if(innode[i]==0)

{

printf("%d ",i);

for(vector<int>::iterator it = maps[i].begin(); it != maps[i].end(); ++it)

{

--innode[*it];

}

innode[i]=-1;

break;

}

}

}

F. 用C語言編程輸出菱形 圖案

#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先列印上邊的四行
{
for(j=1;j<=4-i;j++) //控制要列印的空格數量
printf(" ");
for(k=1;k<=2*i-1;k++) //控制要列印的星號數
printf("*");
printf(" ");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++) //控制要列印的空格數
printf(" ");
for(k=1;k<=7-2*i;k++) //控制要列印的星號數
printf("*");
printf(" ");
}
}

(6)c語言自動存儲圖片擴展閱讀:

for循環

for循環結構是c語言中最具有特色的循環語句,使用最為靈活方便,它的一般形式為:

for(表達式1;表達式2;表達式3)循環體語句 。(其中;不能省略)

表達式

表達式1為初值表達式,用於在循環開始前為循環變數賦初值。

表達式2是循環控制邏輯表達式,它控制循環執行的條件,決定循環的次數。

表達式3為循環控制變數修改表達式,它使for循環趨向結束。

循環體語句是在循環控制條件成立的情況下被反復執行的語句。

但是在整個for循環過程中,表達式1隻計算一次,表達式2和表達式3則可能計算多次,也可能一次也不計算。循環體可能多次執行,也可能一次都不執行。

先執行表達式2,然後執行循環結構,最後表達式3,一直這樣循環下去。

for循環語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的循環語句。

do

do循環結構,do 1 while⑵;的執行順序是1->2->1...循環,2為循環條件。

while

while循環結構,while(1) 2; 的執行順序是1->2->1...循環,1為循環條件

以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。

G. c語言中如何導入圖片

1、首先先在圖片取模軟體找到軟體快捷方式,點擊打開軟體。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:236
java駝峰 發布:2025-02-02 09:13:26 瀏覽:652
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726