求个C语言程序 读取TXT文件第二行(随机换行)数据

求个C语言程序 读取TXT文件第二行(随机换行)数据,第1张

#include <stdioh>

#include <stringh>

void main()

{

int i,n;

char str[500];

FILE fp;

printf("请输入需要读取第几行数据\n");

scanf("%d", &n);

if((fp=fopen("testtxt","rt"))==NULL) / 假设在程序目录下,文件名为testtxt /

{

printf("cannot open file\n");

return;

}

for(i=1;i<n;i++)

fscanf(fp,"%[^\n]%c"); / 跳过一行字符串 /

fscanf(fp,"%[^\n]%c",str);/ 读入一行字符串 /

printf("%s\n", str);

fclose(fp);

}

程序里一定不能出现其它可见字符。只有换行符,空格,tab空格可以忽略。也就是说你连着打了N个回车,跟没打一样。程序自动跳过换行找下一个字符。 追问: 我的C程序书上原文是这样的:“C程序的一个语句可利用续行标志书写在若干行上。” 回答: c语言的续行符是一个宏定义的,也即人工定义的。 \ 一个反斜杠。。但是有个规定就是,\后边必须立即跟回车符。还有其它字符是通不过的。这个符号作用就是一种提示作用,让人看的。机器跟据宏定义会将其忽略,实质上仍然只剩下换行符了。这样说你明白了没有。你看到\就知道后边应该还有内容而不是忘了写;分号了。

首先,要知道change(x,y)函数是把十进制数x转换成y进制的数并输出。然后就可以看main()函数了。第一行是把十进制数10转换成2进制数:10=1010然后printf("\n")是换行,change(10,8)是吧十进制数10转换成8进制数:10=12所以输出结果是:

1010 //第一行输出

12 //第二行输出

1、首先我们打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并启动器添加STARTUPA51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。

2、导入51单片机的头文件以及LCD1602的头文件。

3、创建一个延时函数,可以传入想要具体延时的时长,其内部实现是由一个二重循环,两个循环的次数相乘积。

4、然后创建写命令的函数,指定RS和E同时为0时,才可以写入命令,设定完成后,将com写入输出端口,规定写命令时,E为正脉冲,然后空 *** 作一个机器周期等待机器反应。

5、然后创建写数据的函数,规定写数据时,E为正脉冲,规定当RS=1和RW=0时才可以写入数据,然后将数据从输出端口输出,最后让E产生正跳变。

6、然后创建初始化LCD1602的函数,指定显示模式位两行显示,57,8位数据、整体显示,无光标,无闪烁、写入一个字符后地址指针加1,最后进行清屏 *** 作。

7、最后在主函数中首先执行LCD1602的初始化函数,首先创建一个无限循环,然后添加两个字符串,这里以两行显示百度经验的网址为例,再进行延时以及使用清屏函数进行刷新。

第二行是拼凑产生一个字符串:第一个字符'M',第二个字符是把n的值转成对应的字符,后面紧跟字符串'=magic(n)'。比如当n为2时就拼凑成'M2=magic(n)'赋值给变量magic_str。

第三行则是用eval把拼凑成的字符串当作一个matlab命令执行。比如上面那个字符串,用eval执行后会给变量M2赋值为magic(2)的返回值。

以上就是关于求个C语言程序 读取TXT文件第二行(随机换行)数据全部的内容,包括:求个C语言程序 读取TXT文件第二行(随机换行)数据、C语言)写程序的时候,如果一行写不下了,怎么在第二行接着写、.以下程序运行时,输出结果的第一行是 ,第二行是 。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10118140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存