[C语言] 宽字符的读取问题

软件和网站开发以及相关技术探讨
回复
me
帖子: 972
注册时间: 2007-09-14 19:51

[C语言] 宽字符的读取问题

#1

帖子 me » 2007-12-18 11:12

下面程序不能正常运行

代码: 全选

#include<stdio.h>
int main()
{
	wchar_t data[7000][250];
	long a;
	FILE *fp=fopen("data.txt","r");
	for (a = 0;a!=7000;a++)
		fgetws(data[a],250,fp);
	fclose(fp);
	printf("%s\n",&data[400]);
	return 0;
}

wchar_t data[7000][250]换成char data[7000][250]
并且把fgetws(data[a],250,fp)换成fgets(data[a],250,fp)
就能成功打印一行数据。怎么回事?谢谢
halve
帖子: 45
注册时间: 2005-09-09 11:32

#2

帖子 halve » 2007-12-18 11:24

linux 下面?

linux 下的 fgetws() 似乎不可用, fputws() 也一样
可以自己写几个要用的宽字符处理函数,然后用 fread() 读取数据来处理
me
帖子: 972
注册时间: 2007-09-14 19:51

#3

帖子 me » 2007-12-18 11:28

halve 写了:linux 下面?

linux 下的 fgetws() 似乎不可用, fputws() 也一样
可以自己写几个要用的宽字符处理函数,然后用 fread() 读取数据来处理
的确在linux下,天啊!怎么会这样????
不知道hp ux下能不能用 :em65 :em65 :em65 :em65
showboy
帖子: 122
注册时间: 2006-11-26 14:41

#4

帖子 showboy » 2007-12-18 15:30

还是查man吧,像你这种用wchar的程序还是少见
回复