C语言fwrite函数问题

# include <stdio.h>

int main()
{

char xbox[900]={0};

int cos = 0;

FILE *wj=NULL;
scanf("%s",xbox);

wj = fopen(xbox,"w+");

if(!wj)
{
printf("文件打开错误");

return 0;
}

scanf("%s",&xbox);

fwrite(xbox, scanf("%d",&cos), 1, wj);

fclose(wj);

return 0;

}

今天学了文件操作,在fwrite这里遇上了店问题,求大神解答,
如上面的代码,我一运行输入 g:/c语言/cos.txt
打开文件后,输入: 斜阳映照我,思君入愁肠!!
然后输入字节数:23
然后成功后,我打开文件,就只有一个问号 ?
这是为什么啊?
求大神解答!!

函数使用错误不少。
# include <stdio.h>

int main()
{

char xbox[900]={0};

FILE *wj=NULL;
scanf("%s",&xbox);

wj = fopen(“cos.txt","w+");

if(!wj)
{
printf("文件打开错误");

return 0;
}

scanf("%s",&xbox);

fwrite(xbox, sizeof(xbox), 1, wj);

fclose(wj);

return 0;

}
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言中fwrite的问题
fwrite 操作后会把文件指针位置 向后 移动size*count字节。接着再fwrite就从这个当前位置起写。while循环里,例如读1个结构,写一个结构,一直到读到 文件结束符 EOF为止。这种写法有没有必要看情况决定。例如,一个结构就是一个学生的成绩单,但一开始并不知道文件里一共有多少学生,那么用这种循环读...

C语言fwrite写入文件后为什么出现乱码?
这个函数以二进制形式对文件进行操作。按数据定义结构的写入保持数据结构的长度,对于数值类型,再用文本方式打开时表现为乱码。例如float a=12345.67,写入文件后为4个字节,打开后不是文本表示的8个字节。写入数据用fprintf(fp,"%s %s %d 这种方式。不是 fscanf(), 另,注意写出时的格式里要有分隔...

C语言关于fwrite函数的问题
fwrite就是写入用的函数,fread和fwrite用于读写各种类型的数据块 第一个参数是读写数据的内存区的指针,第3个是项数,第2个是每一项的大小,第4个是文件指针 fwrite返回写出的项数,不出错就等于要写的项数,所以他判断是否和1相等来判断出错 他这里的(struck address_list)应该用sizeof(struck address_li...

c语言第一次弄fwrite,但是运行后我打开文件看里面是空的。为什么_百度...
这么写正常的话是应该输入 100 次的.之所以一次就退出是因为 fwrite (&s, sizeof(s), 100, pFile ); &s 应该是 s[i]. s本身已经是指针了.错误导致 再按任意键结束了。 没有 fclose 所以文件里什么都没有.

C语言fwrite()问题。
应该是这种情况:你输入“hell0 world”时因为有间隔,导致你从流中写入到你的a变量中其实只有hello这几个字符,因为它是以空格结束,最后读出来的其实就是你写进去的hello加上a中剩余元素的值,如果你的a中的元素先都初始化为0,那么就不会出现乱码了。要获取一行需要getline吧 ...

C语言 fwrite输入问题
C语言 fwrite输入问题 #include<stdio.h>#include<stdlib.h>#defineN2structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[N];voidsave(){FILE*fp;inti;if((fp=fopen("C:\/\/stu.dat","wb"))=... #include<stdio.h>#include<stdlib.h>#define N 2struct student_type { char name[...

c语言fwrite函数及地址的问题
fwrite(&wdata,sizeof(char),1,filedir); \/\/这句话的意思就是 把wdata这个地址中的内容,放入到filedir中,大小是sizeof(char) 个数是1 这句话的意思就是向文件中写数据的 不赞同,Parthas这个人的回答,他的“所以这个是将0xa5这个字符写入filedir指向的文件中。”这句话是有错的...

C语言fwrite()函数以二进制形式写入文件
C语言中的fwrite()函数确实用于以二进制形式向文件写入数据,但这个事实并不意味着用文本编辑器打开文件后,内容会直接以二进制格式呈现。实际上,大多数文本编辑器默认是以ASCII或UTF-8等文本格式解析文件内容,而非二进制。当你使用fwrite()将二进制数据写入文件时,文件中存储的是原始的二进制位,每个...

C语言关于fwrite函数的问题
你的程序怎么不加注释啊。。。我大概读了下,觉得可能是你的读函数把你的文件都读出来后,最后把你链表记录到最后指向空的头指针也读了。你看看是不是你把数据信息都输进去后,它读出所有信息后又多读了一位空指针所指的随机数据。

c语言 fwrite函数 是插入还是覆盖
那么使用fwrite函数时均是覆盖模式,而不会插入。即在当前位置写入数据,后续数据并不会依次后移,而是直接覆盖。比如,如果文件中有数据123456789,在3的位置写入字符abc,那么结果为 12abc6789。如果要实现插入效果,可以将后续数据读到内存,然后写入要写的数据,再写入原本读出的数据。

相似回答