标题:有没事研究课题的吗[本贴30分]
只看楼主
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
结帖率:99.76%
已结贴  问题点数:30 回复次数:13 
有没事研究课题的吗[本贴30分]
int main()
{
    FILE *fp;
    fp=fopen("d:\\a.txt","r");
    if (fp==NULL)
    {
        printf("do not open file \n");
        return 0;
     }
}
顺着这个思路往下写,
D:\A.TXT的内容也很简单,就是保存一大段标准的c代码<缩进格式>
目标:
把这个文本文件的内容按行打印在屏幕上,但是首字符不能是空格,也就是要删除每一自然行前面的空格
代码中的空格不计算在内
搜索更多相关主题的帖子: 30分 文本文件 return file 
2012-11-13 19:29
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
我自己写出来一个
但是BUG有2条,正在排查中。。。。

想学习一下高手写的代码  谢谢

DO IT YOURSELF !
2012-11-13 19:30
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:13 
试了下,好多错误的字符啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-13 20:22
wengege
Rank: 2
等 级:论坛游民
帖 子:148
专家分:93
注 册:2012-7-23
得分:2 
不懂哈。。

打好基础,学会站在巨人的肩膀上!
2012-11-13 20:42
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:13 
程序代码:
#include <stdio.h>
void main()
{
    int flag = 0;
    char ch;
    FILE *fp;
    fp = fopen("a.txt","r");
    if (fp == NULL)
    {
        printf("Can not open file a.txt!\n");
        return;
    }
    while (!feof(fp))
    {
        ch = fgetc(fp);
        switch(ch) {
        case ' ':
            if (!flag)
                printf(" ");
            break;
        case '\n':
            printf("\n");
            flag = 1;
            break;
/**        case '\t'://楼主,缩格可不是空格。。。
            if (!flag)
            {
                printf("\t");
            }
            break;
**/
        default:
            printf("%c", ch);
            flag = 0;
        }
    }
    printf("\n");
}


[fly]存在即是合理[/fly]
2012-11-13 20:45
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:0 
差距啊,5楼的输出很标准,我写的会显示好多错误字符,
继续努力吧

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-13 20:51
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *fp;
    char c;
    int m=0;
    fp=fopen("xxxx.c","r");
    if(fp==NULL)
    {
        printf("can not open the file.\n");
        return;
    }
    do
    {
        c=fgetc(fp);
        if(m==1)
        {
            if(c==32) continue;
            else
            m=0;
        }
        if(c==10||c>=32&&c<126)
        {printf("%c",c);
         if(c==10)m=1;
        }
    }
    while(c!=EOF);
    fclose(fp);
    return 0;

}

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-13 21:15
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
5楼的代码那个结尾会多半个字符(和我的一样)

而7楼的代码则没有这个问题

可以用*.exe >1.txt
然后用记事本打开1.txt查看一下

DO IT YOURSELF !
2012-11-13 21:42
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
#include <stdio.h>
void main()
{
    int flag = 0;
    char ch;
    FILE *fp;
    fp = fopen("a.txt","r");
    if (fp == NULL)
    {
        printf("Can not open file a.txt!\n");
        return;
    }
    while ((ch = fgetc(fp)) != EOF)
    {
        switch(ch)
        {
        case ' ':
            if (!flag)
                printf(" ");
            break;
        case '\n':
            printf("\n");
            flag = 1;
            break;
        default:
            printf("%c", ch);
            flag = 0;
        }
    }
    printf("\n");
}


[fly]存在即是合理[/fly]
2012-11-13 22:59
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:2 
KANK

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-11-13 23:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-386939-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.187188 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved