⑴ c语言怎么定义中文字符
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑵ 怎么用c语言生成一个特定大小的文本文件
#include <stdio.h>
void CreateMyFile(char * szFileName,int nFileLength)
{
FILE* fp = fopen(szFileName, "wb+"); // 创建文件
if(fp==NULL)
printf("文件打开失败");
else
{
fseek(fp, nFileLength-1, SEEK_SET); // 将文件的指针 移至 指定大小的位置
fputc(32, fp); // 在要指定大小文件的末尾随便放一个数据
fclose(fp);
}
}
void main()
{
CreateMyFile("test.txt",1024*256); //调用测试
}
⑶ 用c语言创建一个txt文件,并且写入数据
#include <stdio.h>
int main()
{
//下面是写数据,将数字0~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0};
FILE *fpRead=fopen("data.txt","r");
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
(3)c语言定义文本扩展阅读:
c语言最常用的文件使用方式及其含义
1、"r".为读而打开文本文件.(不存在则出错)
2、"rb".为读而打开二进制文件.
3、"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)
4、"wb".为写而打开二进制文件.
5、"a".为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)
6、"ab".为在文件后面添加数据而打开一个二进制文件.
7、"r+".为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变)
8、"rb+".为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置.
9、"w+".首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失)
10、"wb+".功能与"w+"同.只是在随后的读写时,可以由位置函数设置读和写的起始位置.
11、"a+".功能与"a"相同;只是在文件尾部添加新的数据后,可以从头开始读.
12、"ab+".功能与"a+"相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置.
参考链接来源:网络-C语言
⑷ 怎么用C语言在E盘上建立一个文本文件,将键盘上输入的若干个字符存入该文件中,但数字字符除外
以下当参考吧,c++写的--文本文件的输入输出,以及统计英文文本的行数字符数,单词数。改一下头文件,cout cin 改printf scanf 就是了。
方法还是可以借鉴的~
输入:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
string line;//不可以用char定义。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
while(getline(file, line, '\r'))//从文件中读取字符串到输入输出流中。不可以换成get()。
{
cout<<line<<endl;
}
file.close();
return 0;
}
或者:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
static int line;
static int num;
char ch;
string stringline;
string filename;
ifstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt
if(!file)
{
cerr<<"file open fail"<<endl;
exit(-1);
}
else
{
cout<<"the artical is:"<<endl;
while(file.get(ch))
{
cout.put(ch);
}
file.close();
}
return 0;
}
输出:
#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
while(cin.get(line,100))
{
file<<line<<endl;
if(cin.get()==' ')
break;
}
file.close();
}
或者:
#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
do
{
cin.getline(line,100);
file<<line<<endl;
}
while(strlen(line)>0&&!cin.eof());
file.close();
}
C++ 统计英文文本 中的 行数 单词数
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
int num0=0;
int num1=0;
int tempernum0=0;
int line=0;
int i;
string str;//不可以用char定义。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
cout<<"文本中的内容是:"<<endl;
while(getline(file, str, '\n'))
{
cout<<str<<endl;//文本输出
line++;//行数统计
int n=str.length();
if(n!=0)
tempernum0++;//统计非空行末尾的单词数目
string::iterator itr=str.begin();
for(i=0;i<n-1;i++)
{
if(itr[i]==' '&&itr[i+1]!=' ')
num0++;//字数统计,非空行末尾的单词没有被统计进去,最后要再加上非空行的行数。
}
for(i=0;i<n;i++)
{
if(itr[i]!=' ')
num1++;//字符数目统计
}
}
cout<<"行数是:"<<line<<endl;
cout<<"单词数是:"<<num0+tempernum0<<endl;
cout<<"字符数是:"<<num1<<endl;
file.close();
return 0;
}
⑸ c语言的文本是什么》
用编程软件编写后的C源程序的文本为*.c,或者是*.h
⑹ 如何用C语言程序创建一个由自己命名的文本
#include<stdlib.h>
#include<stdio.h>
voidmain()
{
FILE*fp;
chara[10];
scanf("%s",a);
getchar();
fp=fopen("C:\迅雷下载\a.txt","w");//这里你的文件没有扩展名把它改成a.txt就可以了!
if(fopen==NULL)
{
printf("filecannotopen");
exit(0);
}
fprintf(fp,"%d",999);
fclose(fp);
}
⑺ C语言怎样创建一个文本文件
读文件是这样的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c
",buf);
fclose(fp);
}
写文件是这样的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}
PS:这里buf缓冲区只开了一个字节,做个例子,你可根据需要变化.
你的问题可能原因是:输出内容超过了你的缓冲区.
比如:你读出10个字节,甚至可能没读出,而你打印100个字节,后面的就很有可能是"烫".应该不是2进制的问题.
⑻ 在c语言中如何定义汉子
你说的是汉字吧,如果是汉字的话可以用宽字符定义。宽字符 在ANSI/ISO 9899--1990也就是美国国家为程序设计语言C指定的标准(也称为ANSI C)中是这样定义的: 用多个字节来代表的字符称之为宽字符,而Unicode只是宽字符编码的一种实现,宽字符并不一定是Unicode。 在Windows 1.0(1985年11月发布)中,微软发布windows自有的字符集称为ANSI字符集,因为它是基于ANSI和ISO标准的一个草案,而此草案最终称为ANSI/ISO 8859-1--1987,这也简称为"拉丁语-1"。 在MS-DOS 3.3中把代码页的概念介绍给了IBM-PC的用户。这一概念也转接到Windows操作系统中。代码页定义了字符的响应字符码。原本的IBM字符集被称为第437页代码页,第850页是MS-DOS Latin 1.但是代码页的数量超乎清理地的剧增。 这里面存在的一个基本问题是世界上的书面语言文字根本无法用256个8位代码来表示。以前的那些涉及代码页和DBCS编码已经被证明是不足和笨拙的。那儿Unicode编码也应运而生。 UNICODE字符称为宽字符(特别是在C编程环境里),每一个Unicode字符时16位宽而不是8位,C语言用unsigned short表示,可以存放世界上所有书面语言的所有字符和象形文字,还包括一批数学符号和装饰标志的集合。Unicode最棒的一个地方是它只有一个字符集,这就避免了二义性。 当今时代,为了应用程序的国际化,应该提倡使用UNICODE来编写程序! VC++6.0之前没有关键字wchar_t,用unsigned short表示WCHAR; VC++7.0之后有了关键字wchar_t,用来表示WCHAR,及宽字符; Unicode 是支持所有字符集(包括无法以单个字节表示的字符集)的规范。为国际市场编程时应考虑使用 Unicode 或多字节字符集 (MBCS),或使程序能够通过更改开关来生成支持两种字符集之一的程序。 宽字符是双字节多语言字符代码。在当今的全球计算业内使用的大多数字符(包括技术符号和特殊的发布字符),都可以根据 Unicode 规范表示为宽字符形式。无法以 1 个宽字符表示的字符可以通过 Unicode 的代理项功能以 Unicode 对表示。由于每个宽字符总是以固定的 16 位大小表示,因此使用宽字符可以简化使用国际字符集进行的编程。 宽字符字符串表示为一个 wchar_t[] 数组并由 wchar_t* 指针指向它。可以通过用字母 L 作为字符的前缀将任何 ASCII 字符表示为宽字符形式。例如,L'\0' 是终止宽(16 位)NULL 字符。同样,可以通过用字母 L 作为 ASCII 字符串的前缀 (L"Hello") 将任何 ASCII 字符串表示为宽字符字符串形式。 通常,宽字符在内存中占用的空间比多字节字符多,但处理速度更快,因为很多系统的内核包括Windows NT内核都是从底层向上使用Unicode编码的。另外,在多字节编码中一次只能表示一个区域设置,Unicode编码可以毫无障碍的在世界上任何书面语言的字符中转换。
⑼ 求大神!!C语言怎样创建文本文件 并且是用户自己输入文件名
代码如下:
#include
<
>
int
main()
{
char
filename[260];
FILE
*fp;
scanf("%s",
filename);
strcat(filename,
".txt");
if((fp
=
fopen(filename,
"w"))==NULL)
{
printf("读取文件");
return
0;
}//
文件已经创建
往写东西
fclose(fp);
return
0;
}