| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3646 人关注过本帖
标题:fprintf%c和%s的区别
只看楼主 加入收藏
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
 问题点数:0 回复次数:9 
fprintf%c和%s的区别
非常不好意思,这个问题我已经发过一次了
但是等了很久没人回复,
而我又很急于解决这个问题
也许是我提问的方法不对
所以再发一次,
如果看过了的请跳过吧
带来的不变之处请大家见谅!
源程序:
#include<stdio.h>
#include<dir.h>
int main()
{
FILE *p,*fp;
char path_in[30]="*.txt",ttt[30]="worktyle\\ttt.txt",bofile[100],buff[100];
int i=0,done=1;
struct ffblk ffblk;
done = findfirst("*.txt",&ffblk,0);
     if(done)
    { printf("can't find source  file in  \n");exit(1);
    }//end if
if((fp=fopen(ffblk.ff_name,"r"))==NULL)
    { fclose(fp);printf("can't open source  file\n");exit(1);
    }//end if

fread(buff,sizeof(char),5,fp);
if((p=fopen(ttt,"w"))==NULL)
            { printf("p is %p\n",p);
            printf("can't create a worktyle\\ttt.txt file\n");fclose(p);getch();exit(1);
                }//end if
sprintf(bofile,"%s%s%s","\\",buff,".txt");  
  for(i=0;i<100;i++)
              {
              
               fprintf(p,"%c\\%dEND\n",bofile[i],bofile[i]);
              } //end for

fprintf(p,"bofile:%sEND\n",bofile);
fclose(fp);fclose(p);
printf("in  worktyle\\ttt.txt file \n");
getch();
return 0;
}// end main

问题:
{如下
为何使用%c格式fprintf(p,"%c\\%dEND\n",bofile[i],bofile[i]);
与使用%s格式会出现不同结果fprintf(p,"bofile:%sEND\n",bofile);
萛-56END
鏫-25END
篭-70END
蝄-50END
籠-69END

bofile:\如何?txtEND
}//

{如下
fprintf(p,"%c\\%dEND\n",bofile[i],bofile[i]);
使用%s的时候‘ . ’怎么不见了。却变成了?号fprintf(p,"bofile:%sEND\n",bofile);

.\46END
t\116END
x\120END
t\116END

bofile:\如何?txtEND
}//
为省却大家再次为试验准备材料的麻烦,
我把源程序做了简化并
把编译好的程序和做试验的材料放在附件中

fprintf%c和%s的区别.rar (12.76 KB)
搜索更多相关主题的帖子: fprintf done ffblk include 
2008-01-09 21:32
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
主要因为大家看到那些乱码.
2008-01-09 21:39
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
得分:0 
乱码?在哪里?
很乱吗?是不是我的程序太不简洁了?
2008-01-09 21:42
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
得分:0 
回复 2# 的帖子
乱码?在哪里?
很乱吗?是不是我的程序太不简洁了?
2008-01-09 21:45
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
萛-56END
鏫-25END
篭-70END
蝄-50END
籠-69END
2008-01-09 22:04
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
%c 和 %s 怎么会相同呢。

%c 是字符,%s 是字符串。
字符是一个数值。
字符串是一个指向字符数组的指针,字符串以'\0'结尾('\0' 等同于 0 )

—>〉Sun〈<—
2008-01-09 23:12
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include <dir.h>   // 这个什么东西

struct ffblk ffblk;  这个又是什么?

—>〉Sun〈<—
2008-01-09 23:16
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
得分:0 
回复 7# 的帖子
#include <dir.h>   // 这是个头文件,
在它里面有一个struct ffblk 结构类型,我也不是非常清楚,只会用,
与findfirst()一起用.这个结构中包含文件的信息,如文件名,大小,时间,等,
类似的在typedef.h头文件中也有个diff与指针有关的东西
2008-01-19 20:26
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
得分:0 
回复 5# 的帖子
不好意思~~
那是我想测试一下汉字与ascii码有什么样的关系(实际上似乎没关系,听说ascii码只能表示很少的字符,再说ascii码也不可能有码汉字的编),上传的时候没有删去,请原谅,初次发贴没有经验,下次不会发生这种情况了.
至于后面那个end是我自己加上去的确实很多余.!
2008-01-19 20:35
408228727
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-12-12
收藏
得分:0 
回复 6# 的帖子
哦!谢谢!我明白了!
做了几个测试程序,想通了
可还是有一些问题没解决.
这些代码实现的是自动命名功能,其中还包过滤部分及意外部分(已省略)
为了实现它我实现它我查了很多资料,最难的就是过滤了,你看那个?号怎么解决?
文件命名可不能有这个东西啊!
2008-01-19 21:28
快速回复:fprintf%c和%s的区别
数据加载中...
 
   



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

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