linux abs?linux软件推荐

linux如何给数组赋值linux数组赋值

新手求教,怎么给数组赋值?

给数组赋初值的方法:

1、直接初始化:intarr={1,2,3};

2、遍历访问初始化:for(i=0;i3;i++)arr=i;

3、内存操作函数:memset(arr,3,abs);//abs为另一个已知的数组。

4、字符串赋值函数,仅限于char型数组:strcpy(arr,abs);abs为一字符串或者char型数组。

给数组赋值eof怎么用?

eof

是个宏,其意思是:end

of

file,文件尾标志。

从数值上来看,就是整数-1

在c语言的头文件中对其进行了宏定义:

libio.h:#defineeof(-1)当读文件操作时,遇到文件结束位置或读数据出错均会返回

eof。

(c语言中所有的输入输出操作均是按读文件的思想来设计的,或者说,是文件操作的一种特例,如getchar()就是fgetc(stdin)

的一个宏

intgetchar();//从标准输入缓冲区读取一个字符,成功返回该字符的ascii值,出错,返回eof那么,如何在键盘输入时,产生eof呢?

不同的系统方法不同:

linux系统下,在输入回车换行后的空行位置,按

ctrl+d

(先按ctrl键,不放,再按d键)

windows系统下,在输入回车换行后的空行位置,按

ctrl+z,再回车确认

以下代码供参考:

#include

voidmain()

{

intch;

do{

ch=getchar();

printf(ch=%dn,ch);//输出读返回的ch值,读到eof会输出-1

}while(ch!=eof);

}

如何给数组赋值?

给数组赋初值的方法:

1、直接初始化:intarr={1,2,3};

2、遍历访问初始化:for(i=0;i3;i++)arr=i;

3、内存操作函数:memset(arr,3,abs);//abs为另一个已知的数组。

4、字符串赋值函数,仅限于char型数组:strcpy(arr,abs);abs为一字符串或者char型数组。

ntt呵呵,也许这样理解会比较容易:

“是要给t0,t1,t2,t3,t4....t100赋值”如果想每一个都赋值,这样即可:

intt

for(inta=0;a100;a++)

{

cin>>t;

}

给数组赋值的方法?

在大多数编程语言中,给数组赋值的方法通常是通过遍历数组的每个元素,并将其赋值为指定的值。希望我的能帮助到你。

数组怎么自动赋值?

可以使用for循环,如:

for(inti=0;i++;)

a=i;

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

树莓派(Linux系统)触摸屏翻转显示以及触摸翻转

问题:未使用的Pi官方屏幕,所以使用HDMI屏幕显示的时候,显示旋转的同时,触摸没有旋转

目的:旋转屏幕显示的同时,使得触摸也跟随旋转

操作总流程:

  旋转90度操作

 翻转显示:

 1.sudo nano/boot/config.txt

 2.在文件末尾加入

 display_rotate=0

 display_rotate=1  //90°

 display_rotate=2  //180°

 display_rotate=3  //270°

 ctrl+ o保存文档重启即可。

 注:以下操作皆为SSH操作,所以每条指令前都加了DISPLAY=:0,如果本机操作删掉即可。

 1.安装xinput

 sudo apt-get install xinput

 2.列出所有输入设备信息远程操作时,使用xinput指令需要加入DISPLAY=:0

 DISPLAY=:0 xinput--list

 3.列出目标设备属性

 DISPLAY=:0 xinput--list-props 7

 4.旋转触摸的坐标轴

 1)所以先交换x、y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axes Swap' 1

 2)然后反转y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axis Inversion' 0 1

显示旋转修改之后需要重启。而触摸旋转不需要重启。

详细操作方法: 

1.安装xinput

 sudo apt-get install xinput

 描述:

 xinput- utility to configure and test X input devices 

 xinput-用于配置和测试X输入设备的实用程序

 xinput is a utility to list available input devices,

 xinput是一个实用程序,可以列出可用的输入设备、

 query information about a device and change input device settings.

 关于设备的查询信息和更改输入设备设置

2.列出所有输入设备信息

 xinput--list

 如果远程操作记得在命令前加DISPLAY=:0

得到以下信息:

 pi@NTGAGE:~$ DISPLAY=:0 xinput--list

⎡ Virtual core pointer             id=2  [master pointer (3)]

⎜ ↳ Virtual core XTEST pointer        id=4  [slave pointer (2)]

⎜ ↳ Logitech USB Optical Mouse        id=6  [slave pointer (2)]

⎜ ↳ WaveShare WaveShare Touchscreen      id=7  [slave pointer (2)]

⎣ Virtual core keyboard             id=3  [master keyboard(2)]

  ↳ Virtual core XTEST keyboard        id=5  [slave keyboard(3)]

  ↳ Logitech USB Keyboard           id=8  [slave keyboard(3)]

  ↳ Logitech USB Keyboard           id=9  [slave keyboard(3)]

3.列出目标设备属性

 由于所使用的触摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的触摸屏对应的ID为7

所以,接下来看这款输入设备的属性,

pi@NTGAGE:~$ DISPLAY=:0 xinput--list-props 7

Device'WaveShare WaveShare Touchscreen':

     Device Enabled(115):  1

     Coordinate Transformation Matrix(116): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     Device Accel Profile(240):   0

     Device Accel Constant Deceleration(241):    1.000000

     Device Accel Adaptive Deceleration(242):    1.000000

     Device Accel Velocity Scaling(243):  10.000000

     Device Product ID(244):    3823, 5

     Device Node(245):   "/dev/input/event3"

     Evdev Axis Inversion(246):   0, 0

     Evdev Axis Calibration(247): <no items>

     Evdev Axes Swap(248): 0

     Axis Labels(249):   "Abs MT Position X"(267),"Abs MT Position Y"(268),"Abs MT Pressure"(269),"None"(0),"None"(0),"None"(0)

     Button Labels(250):  "Button Unknown"(233),"Button Unknown"(233),"Button Unknown"(233),"Button Wheel Up"(121),"Button Wheel Down"(122)

     Evdev Scrolling Distance(251): 0, 0, 0

     Evdev Middle Button Emulation(252):  0

     Evdev Middle Button Timeout(253):   50

     Evdev Third Button Emulation(254):   0

     Evdev Third Button Emulation Timeout(255):   1000

     Evdev Third Button Emulation Button(256):   3

     Evdev Third Button Emulation Threshold(257):  20

     Evdev Wheel Emulation(258):  0

     Evdev Wheel Emulation Axes(259):    0, 0, 4, 5

     Evdev Wheel Emulation Inertia(260):  10

     Evdev Wheel Emulation Timeout(261):  200

     Evdev Wheel Emulation Button(262):   4

     Evdev Drag Lock Buttons(263): 0

 这块屏幕正常显示和触摸的信息如上。

 如果执行到这一步,发现并没有以上的Evdev等属性项,请跳转第2种方法。

 现在需要达到的目的是在屏幕显示反转的同时,使得触摸也随显示翻转。

 屏幕显示为翻转90度。/boot/config.txt设置为display_rotate=1

 上述信息中Evdev Axis Inversion项是每条轴的旋转设置项,后面第一个参数是x,第二个参数是y.

 Evdev Axes Swap项对应的是两条轴的交换。

 0为不翻转,1为翻转 

 例如。x轴原本是朝向右的,当把Evdev Axis Inversion的第一个参数

 设置为1,即x轴朝向左。

4.旋转触摸的坐标轴

 现在目的是要触摸旋转90度,从坐标轴理解:

 即目的x轴正向为初始y轴的反向。目的y轴的正方向为初始x轴的正向。

 1)所以先交换x、y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axes Swap' 1

 2)然后反转y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axis Inversion' 0 1

这样即可完成触摸旋转90度。若要旋转其他角度,推理一下即可。

显示旋转修改之后需要重启。而触摸旋转不需要重启。

第二种方法

 如果查询到的信息如下

 DISPLAY=:0 xinput--list-props 6

Device'WaveShare WaveShare Touchscreen':

     Device Enabled(114):  1

     Coordinate Transformation Matrix(115): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     libinput Calibration Matrix(246):   0.000000, 1.000000, 0.000000,-1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000

     libinput Calibration Matrix Default(247):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     libinput Send Events Modes Available(248):   1, 0

     libinput Send Events Mode Enabled(249):    0, 0

     libinput Send Events Mode Enabled Default(250):    0, 0

     Device Node(251):   "/dev/input/event0"

     Device Product ID(252):    3823, 5

 可以看到该驱动方式采用的是libinput,

 查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。

 无则需要安装 

 sudo apt-get install xserver-xorg-input-libinput 

 下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件,

 下一步复制该文件到/etc/X11/xorg.conf.d/目录下。

 一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。

 sudo mkdir xorg.conf.d

 下一步复制到xorg.conf.d目录下即可。

 sudo cp/usr/share/X11/xorg.conf.d/40-libinput.conf/etc/X11/xorg.conf.d/

 下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf文件

 cd/etc/X11/xorg.conf.d/

 sudo nano 40-libinput.conf

 找到touchscreen section

 Section"InputClass"

     Identifier"libinput touchscreen catchall"

     MatchIsTouchscreen"on"

     MatchDevicePath"/dev/input/event*"

     Driver"libinput"

 EndSection

 添加一行 Option"CalibrationMatrix""0 1 0-1 0 1 0 0 1 

 结果为

 Section"InputClass"

     Identifier"libinput touchscreen catchall"

     Option"CalibrationMatrix""0 1 0-1 0 1 0 0 1

     MatchIsTouchscreen"on"

     MatchDevicePath"/dev/input/event*"

     Driver"libinput"

EndSection

然后重启生效

 这样的修改也是同样修改为翻转90度,如果需要修改为其他角度,请参考libinput的算法

 

linux怎么查找一个文件在哪里

因为要装pl/sql所以要查找tnsnames.ora文件。。看看怎么查这个文件在Linux下的哪个目录

find/-name tnsnames.ora

查到:

/opt/app/Oracle/product/10.2/network/admin/tnsnames.ora

/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora

还可以用locate来查找

locate tnsnames.ora

结果是:

/opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample

/opt/app/oracle/product/10.2/network/admin/tnsnames.ora

/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora

一.通过文件名查找法:

举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令:

find/-name httpd.conf

这个命令语法看起来很容易就明白了,就是直接在find后面写上-name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:

etc/httpd/conf/httpd.conf

这就是httpd.conf这个文件在linux系统中的完整路径。查找成功。

如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/-name httpd.conf命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了ApacheWeb服务器,然后再使用find/-name httpd.conf就能找到这个配置文件了。

二.无错误查找技巧:

在Linux系统中“find”命令是大多数系统用户都可以使用的命令,并不是ROOT系统管理员的专利。但是普通用户使用“find”命令时也有可能遇到这样的问题,那就是Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用“find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."(禁止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示的方法尝试着查找文件,例如输入:

find/-name access_log 2>/dev/null

这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream2中,access_log2就是表明系统将把错误信息输送到stderrstream2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了。

在Linux系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘,这个系统中查找某个文件就要花费相当长的一段时间,特别是大型Linux系统和容量较大的硬盘,文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中,那么只要在这个目录中往下找就能节省很多时间了。使用find/etc-name httpd.conf就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/”这个函数符号的含义,如果输入“find/”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find/etc”就是只在

etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件,所以查找的速度就相应要快很多了。

三.根据部分文件名查找方法:

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find/etc-name'*srm*'

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如absrmyz,tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc-name'srm*'

这是只有像srmyz这样的文件才被查找出来,像absrmyz或者absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

四.根据文件的特征查询方法:

如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来,这和WINDOWS系统中的“搜索”功能是基本相同的。在微软的“搜索”中,“搜索助理”使得搜索文件和文件夹、打印机、用户以及网络中的其他计算机更加容易。它甚至使在Internet上搜索更加容易。“搜索助理”还包括一个索引服务,该服务维护了计算机中所有文件的索引,使得搜索速度更快。使用“搜索助理”时,用户可以指定多个搜索标准。例如,用户可以按名称、类型及大小搜索文件和文件夹。用户甚至可以搜索包含特定文本的文件。如果用户正使用Active Directory,这时还可以搜索带有特定名称或位置的打印机。

例如我们知道一个Linux文件大小为1,500bytes,那么我们可是使用如下命令来查询find/-size

1500c,字符c表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决。例如我们输入find/-size+10000000c这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“+”是表示要求系统只列出大于指定大小的文件,而使用“-”则表示要求系统列出小于指定大小的文件。下面的列表就是在Linux使用不同“find"命令后系统所要作出的查找动作,从中我们很容易看出在Linux中使用“find”命令的方式是很多的,“find”命令查找文件只要灵活应用,丝毫不比在WINDOWS中查找能力差。

find/-amin-10#查找在系统中最后10分钟访问的文件

find/-atime-2#查找在系统中最后48小时访问的文件

find/-empty#查找在系统中为空的文件或者文件夹

find/-group cat#查找在系统中属于groupcat的文件

find/-mmin-5#查找在系统中最后5分钟里修改过的文件

find/-mtime-1#查找在系统中最后24小时里修改过的文件

find/-nouser#查找在系统中属于作废用户的文件

find/-user fred#查找在系统中属于FRED这个用户的文件

下面的列表就是对find命令所可以指定文件的特征进行查找的部分条件。在这里并没有列举所有的查找条件,参考有关Linux有关书籍可以知道所有find命令的查找函数。

-amin n

查找系统中最后N分钟访问的文件

-atime n

查找系统中最后n*24小时访问的文件

-cmin n

查找系统中最后N分钟被改变状态的文件

-ctime n

查找系统中最后n*24小时被改变状态的文件

-empty

查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

-false

查找系统中总是错误的文件

-fstype type

查找系统中存在于指定文件系统的文件,例如:ext2.

-gid n

查找系统中文件数字组 ID为 n的文件

-group gname

查找系统中文件属于gnam文件组,并且指定组和ID的文件。

阅读剩余
THE END