为什么c语言中输入的字符成乱码!!

来源:百度知道 编辑:UC知道 时间:2024/05/24 16:55:47
请看下面代码,为什么我用gets()输入字符的时候文件显示的是字符,而用cin或scanf()读入字符的时候,
文件中显示的却是乱码啊?他们输入有什么区别吗?

//============================================================================
#include<stdio.h>
#include<process.h>
#include<iostream.h>

//======================================================================
void main()
{
char word[10];
int i;
FILE *fp;
if((fp=fopen("f:\\a.text","a+w"))==NULL)
{
printf("can't open file\n");
exit(0);
}

printf("input string please:");
i=0;
gets(word);//方法一

for(i=0;i<=8;i++)//方法二
{
cin>>word[i];
}

while(word[i]!='\0')
{
if(word[i]!=' ')
fputc(word[i],fp);
else
fputc('\n',fp);
i++;
}
f

scanf("%s",word); //输入字符串

for(int i=0;i<10;i++)
scanf("%c",&word[i]); //一个一个的输入字符

试:
cin>>word; 不用循环
scanf("%s",&word[0]); 用 %s格式

输入方式没什么区别,注意输入的方式就好了。