Topic: 斑竹不厚道

  Print this page

1.斑竹不厚道 Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-07 17:22

我贴的帖子,半天没人来指点一下,还被人说,郁闷死了,好象,大家看了那篇从国外转过来的"关于如何提问后",连一些最基本的东西都忘了.我们毕竟不是外国.他们的背景和我们不同啊.

2.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: davidself
Posted on: 2005-11-07 17:49

不是说了吗,指针的问题
好像这样应该可以

char *filefullname;
char ch;
scanf("%s",filefullname);

3.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-07 18:14

谢谢了,我正打算,是不是该用JAVA实现呢.今天又为这问题,忙了一下午.还是老问题,我回去看看.

4.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: ranchgirl
Posted on: 2005-11-08 00:49

Nobody is required or obligated to answer your questions!

What I said there was a joke, and also there is nothing wrong there!

Try to Attack people to get answers???

Good luck!

5.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-08 10:27

多谢谢指点.谢谢了.
Try to Attack people to get answers???
我好象没有这么卑鄙啊!!!!

6.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: ranchgirl
Posted on: 2005-11-08 14:03

That is a traditional strategy, it has nothing to do with 卑鄙.

"请将不如激将"

Unfortunately, the strategy will not work this time... Big Smile Big Smile

7.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-08 20:42

和你说话真方便。

8.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: wallacer
Posted on: 2005-11-09 22:33

#include "stdio.h"

void main() {
  char filefullname[20];
  //char ch;
  scanf("%s",filefullname);
  printf("%s\n", filefullname);
}

直接用char *filefullname声明是不合适的,因为系统只为你声明了一个char的指针,它的下面一个位置你不能确定系统是否占用,这样可能出错!char filefullname[20]声明了20字符的连续空间,只要系统输入少于20字符就OK!

9.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-09 22:47

~~~~~~~
你好象没有认真看我的题目啊

10.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: wallacer
Posted on: 2005-11-10 10:52

这位兄弟你要别人帮你解决问题,应该把你的问题贴出来(懒的找了),我相信还是有很多人愿意回答的。我是看了猫兄的解答提出自己的看法!

11.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: davidself
Posted on: 2005-11-10 12:41

呵呵,他的问题在这里
http://www.cjsdn.net/post/view?bid=32&id=161504&sty=1&tpg=1&age=0

我的这点儿c也就临时解决这个问题,没怎么想深,不过限制文件名长度的方法可能也不是非常友好。

12.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-10 21:45

wallacer好象完全理解错了题目

13.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: wallacer
Posted on: 2005-11-11 11:23

这个是你原来的代码:

#include<stdio.h>
main() {
  FILE *fp;
  char filefullname;
  char ch;
  scanf("%s",&filefullname);
  if((fp=fopen(filefullname,"rt"))==NULL) {
    printf("can't open the file");
    exit(0);
  }
  
  ch=fgetc(fp);
  while (ch!=EOF) {
    putchar(ch);
    ch=fgetc(fp);
  }
  fclose(fp);
}


首先看看你的错误在什么地方:
1. 你的文件名是这样声明的char filefullname,这表示你的文件名只能有一个字符,肯定是有问题的。
2.你的文件打开函数fopen(filefullname,"rt"))的参数应该是错误的,查过MSDN没有“rt”这个供选项。

以下是我的代码:

#include<stdio.h>

void main() {
  FILE *fp;
  char filefullname[20];
  char ch;
  int i;
  for(i=0; i<20; i++) {
    filefullname[i] = 0;
  }
  scanf("%s",filefullname);
  if((fp = fopen(filefullname,"r"))==NULL) {
    printf("can't open the file");
    return;
  }
  
  ch=fgetc(fp);
  while (ch != EOF) {
    putchar(ch);
    ch = fgetc(fp);
  }
  putchar('\n');
  fclose(fp);
}

以上代码在MS visual studio 6.0 下调试通过!你可以用Debug跟踪调试!

14.Re:斑竹不厚道 [Re: xianwei] Copy to clipboard
Posted by: xianwei
Posted on: 2005-11-11 11:32

我也通过了,但是输入具体的路径老是出来一些乱七八糟的东西,我试试看,你说的那个问题,我已经更正过了,这只是我的一个版本.我写了好几个,其中的参数改了好几次,不过谢谢你这么热心的回答


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923