c語言自動存儲圖片
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
思路:
用vector建立鄰接表
計算每個點的入度
如果是偏序無環的,一定存在入度為0的點,輸出並且刪除它,同時刪除它出發的邊,更新其他點的入度
循環直到移除所有點,輸出順序就是拓撲排序
*/
#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、首先先在圖片取模軟體找到軟體快捷方式,點擊打開軟體。