c语言,在windows下,读取文件中一空行

c语言,在windows下,读取文件中一空行,第1张

问题在于你对空行的定义。

例如,你认为 "\t \t \n" -- “制表符,空格符,制表符,空格符,新行符”是空行,

你可以:

#include<stdioh>

int main(){

char s[80];

int flag=1,i;

fgets(s,80,stdin); // 读入一行

printf("%s -- length=%d\n",s,strlen(s));

for (i=0;i<strlen(s);i++) {

if (0xff & s[i] > 0x20) {flag=0;break;}; // 如果 ASCII 值大于空白符号 flag=0

}

if (flag==1) printf("blank line\n");else printf("not a blank line\n"); // 根据flag=1,0 判断是否 空行。

return 0;

}

for(j = 0;stu[i]name[j-1]!=',';j++) stu[i]name[j] = getchar();/首先这里stu[i]name[j-1]第一次取值时取得是stu[i]name[-1]/

比如你输入 5 + 回车

本来是想 scanf 一个字符 '5'

但程序在读入5以后,把你输入的回车也读进去了

就是说“ 5 + 回车 ”这样一次输入,读入了2个字符,执行了2次循环

第二次循环中字符 '\n' 作为 %c 被输出了,所以你会感觉多了一行

scanf就是这个特点,修改一下程序便可解决:

#include<stdioh>

int main(){

char a;

while(scanf("%c",&a))

{

if(a=='#') break;

else

{

if(a!='\n') printf("%c\n",a);

}

}

return 0;

}

你的意思是按键盘上enter键结束么?

回车+换行 = ENTER 分别对应ASCII码的0xd和0xa

>

以上就是关于c语言,在windows下,读取文件中一空行全部的内容,包括:c语言,在windows下,读取文件中一空行、我写的一个C语言程序,问题是在输入完之后输出的时候,总是出现一个空行,这是怎么回事、c语言换行为什么输出两行空行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存