当前位置:编程学习 > C#/ASP.NET >>

坐等高手

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
#include"string.h"
void main()
{int n;
 
FILE *fp;
int i;
char c[5],ch;
if((fp=fopen("D:\\A\\A.txt","r"))==NULL)
   {
    printf("\ncan not open file\n");
    exit(0);
   }
printf("file A :\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
   {
    c[i]=ch;
    putchar(c[i]);
   }
fclose(fp);
 n=strlen(c);
printf("\n");
printf("%d",n);
}
文档我就输入了2个字母,可是我把定义数组改为C【100】的时候,N输出的结果是3。。。大家帮我看看哪出错了 --------------------编程问答-------------------- 你看看c[0],c[1],c[2]是什么。。
觉得代码没问题哦 --------------------编程问答-------------------- 应该是一个A,一个S呀。。我也觉得代码没什么问题。可是输出了个3。。。 --------------------编程问答-------------------- strlen是查找'\0'来判断字符串结束的,你的数组中前面部分是从文件中读出的数据(不会有'\0'),后面数据未知,所以strlen的结果也是未知的。 --------------------编程问答-------------------- 好心人,高人 --------------------编程问答-------------------- char c[5];
改成
char c[5]={0};
或者是
char c[x]={0};  这个x是你想要的大小
你应当首现自己对c进行一个初始化操作 --------------------编程问答-------------------- 学习,走人
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,