我有以下代码段:
char* filename;
unsigned long long int bytesToTransfer;
int fd, pagesize;
char *data;
fd = open(filename, O_RDONLY);
if (fd==NULL){
fputs ("File error",stderr);
exit (1);
}
cout << "File Open: " << filename << endl;
pagesize = getpagesize();
data = mmap((caddr_t)0, bytesToTransfer, PROT_READ, MAP_SHARED, fd, 0);
if (*data == -1) {
fputs ("Memory error",stderr);
exit (2);
}
cout << "Data to Send: " << data << endl;
Run Code Online (Sandbox Code Playgroud)
但是当我编译时,我会收到:
错误:从'void*'到'char*'的无效转换[-fpermissive] data = mmap((caddr_t)0,bytesToTransfer,PROT_READ,MAP_SHARED,fd,0);
有人能给我一个暗示什么是错的吗?
我从学习ç C编程语言。我试图使以下代码工作:
#include <stdio.h>
int main() {
int char_count = 0;
while (getchar() != EOF)
++char_count;
printf("Number of chars are %ld ", char_count);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我构建并运行代码。然后,我输入一个随机单词并按回车键。我希望在下一行看到一个数字,但发生的情况是光标移动到下一行。当我输入一个新词时,也会发生同样的事情。我错过了什么?
编辑:我希望在程序完成获取第一个单词的字符时getchar()
返回EOF
。
这是a的20 x 20
像素图像zero
哪个图像存储在400的数组中:
X[0,:] = [255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 …
Run Code Online (Sandbox Code Playgroud) 我有以下单元格数组
a{1, 1} = [1 3];
a{1, 2} = [5 63];
a{2, 2} = [11 11];
Run Code Online (Sandbox Code Playgroud)
现在,从中a
,我想找到一个与其元素相等的矩阵[11 11]