c语言io
‘壹’ c语言io问题
这个程序是需要打开一个在命令行中指定的、已经存在的文件,然后在这个文件的末尾倒数第5个字符处,用"ssssssss "进行覆盖。
图中打开一个文件1.txt,原内容是
ABCDEF123456
在CMD窗口中运行
0.exe 1.txt
就在这个文件的末尾倒数第5个字符处,用"ssssssss "进行覆盖。新的1.txt文件内容为:
ABCDEF1ssssssss
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
int main(int argc,char ** argv)
{ int fd = open(argv[1],O_WRONLY);
char *str = "ssssssss ";
int len =strlen(str);
printf("%d",lseek(fd,-5,SEEK_END));
write(fd,str,len);
exit(0);
}
‘贰’ C语言中有无依存硬件的I/O的语句
C 语言中,没有依存于硬件的输入/输出语句,程序的输入/输出功能是通过调用输入/输出库函数实现的。
头文件<stdio.h>定义了用于输入和输出的函数、类型和宏。最重要的类型是用于声明文件指针的FILE。
另外两个常用的类型是size_t和fpos_t,size_t是由运算符sizeof产生的无符号整类型;fpos_t类型定义能够唯一说明文件中的每个位置的对象。由头部定义的最有用的宏是EOF,其值代表文件的结尾。
‘叁’ C语言 单片机IO口赋值
首先要弄清楚io口的赋值!!
使用并行输数据只能八位。所有,oxfffe要取出高八位和低八位!!
因为不存在取单独某位的问题,所有可以使用简单的移位语句
p1=(oxfffe<<8);
//左移八位,得p1=oxfe
p2=(oxfffe>>8);
//右移8位,得p2=oxff
你这个程序的错误在于,p1口使用并行方法输送数据只能一次传输8位,而oxfffe位十六位,溢出错误!!
‘肆’ C语言用系统IO实现文件的读写与拷贝
需要的头文件:
返回值类型是int 型的文件描述符
需要的头文件
返回值
参数说明
需要的头文件:
返回值:
参数:
需要的头文件:
返回值:
参数说明:
关闭文件
需要的头文件:
参数:int型的文件描述符
返回值:
失败: -1
‘伍’ 51单片机c语言编程怎么释放IO口
单片机没有释放IO口一说,有复用的选择;
如果该端口开始时作为输出端口来使用,之后用于输入,那么外围电路就需要做输出输入隔离;
而对于单片机,要输出数据就直接该向端口写数据即可,要从端口读取数据,,需要先向端口写数据 1,以令端口输入就绪,然后就可以读端口数据了;
‘陆’ C语言,IO问题。 #include "stdafx.h" #include<stdio.h> void main()
从键盘输入的每个字符都会送到输入缓冲流中,scanf函数从输入缓冲流中依次读数据,第一次输入的回车符也在输入缓冲流中,而scanf函数遇到空格或换行符就结束,所以第二次scanf时还是从输入缓冲流中的回车符开始读,读到即结束,然后执行下一个语句。
解决方法:
在每个scanf语句后加一句getchar();
因为getchar()函数不会忽略回车符和空格符,也就是说getchar()函数会将回车符或空格符读出,然后读下一个字符。这样下一次scanf()时就是从回车符的下一个字符开始读了。
‘柒’ C语言文件IO如何在指定位置插入字符串
如果是C语言调用stdio.h库函数的话使用fseek设置文件指针,指向指定的位置,然后再用fprintf或者fwrite将数据写入文件中。如果是C语言调用windows.h库函数的话则调用SetFilePointer设置文件指针指向指定位置,之后再调用WriteFile将数据写入文件。
‘捌’ 救急!请问单片机C语言IO口如何定义啊
首先要有这个头文件: #include <AT89X52.H> //根据你用的单片机类型而定
这个头文件已经有了端口的定义,不过用的时候不能写 P1.1,而应该是P1_1(注意:P要大写)
如果要自己重新定义的话:打开这个头文件,修改就行了(里面的内容很简单的,一看就可以明白它是怎样定义的)
也可以调用头文件后在程序里重新给它命名,但没有什么必要。
(对了,我用的软件是keil)
‘玖’ C语言中的I/O处理是什么意思
I/O就是输入/输出
Input/Output