⑴ 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;
}