當前位置:首頁 » 編程語言 » c語言showstring
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言showstring

發布時間: 2022-09-09 22:28:14

c語言strcpy()用法

1、strcpy函數是復制字元串的,接受兩個參數,一個是被復制字元串,另一個新字元串。具體的用法,首先打開編輯器新建一個c語言的程序文件,寫入頭文件和主函數:

Ⅱ C語言指針

可能是你的LCD_ShowString函數的參數是u8*類型的,而你的JOYPAD_SYMBOL_TBL是const u8*
,所以要做類型匹配。

Ⅲ 如何用c語言實現CString的構造函數,析構函數和賦值函數

類是編程人員表達自定義數據類型的C++機制。它和C語言中的結構類似,C++類
支持數據抽象和面向對象的程序設計,從某種意義上說,也就是數據類型的設
計和實現。
那麼
String
類的原型如下
class
String
{
public:
String(const
char
*str=NULL);
//構造函數
String(const
String
&other);
//拷貝構造函數
~String(void);
//析構函數
String&
operator=(const
String
&other);
//等號操作符重載,賦值函數
ShowString();
private:
char
*m_data;
//字元指針
};
String::~String()
{
delete
[]
m_data;
//析構函數,釋放地址空間
}
String::String(const
char
*str)
{
if
(str==NULL)//當初始化串不存在的時候,為m_data申請一個空間存放'/0';
{
m_data=new
char[1];
*m_data='/0';
}
else//當初始化串存在的時候,為m_data申請同樣大小的空間存放該串;
{
int
length=strlen(str);
m_data=new
char[length+1];
strcpy(m_data,str);
}
}
String::String(const
String
&other)//拷貝構造函數,功能與構造函數類似。
{
int
length=strlen(other.m_data);
m_data=new
[length+1];
strcpy(m_data,other.m_data);
}
String&
String::operator
=(const
String
&other)
//賦值函數
{
if
(this==&other)//當地址相同時,直接返回;
return
*this;
delete
[]
m_data;//當地址不相同時,刪除原來申請的空間,重新開始構造;
int
length=sizeof(other.m_data);
m_data=new
[length+1];
strcpy(m_data,other.m_data);
return
*this;
}
String::ShowString()//由於m_data是私有成員,對象只能通過public成員函數來訪問
{
cout<<this->m_data<<endl;
}
測試一下:
main()
{
String
AD;
char
*
p="ABCDE";
String
B(p);
AD.ShowString();
AD=B;
AD.ShowString();
}

Ⅳ c語言編程:字元串拷貝(程序改錯)

不知道你這是做的題目還是練習什麼的?這題有很大的問題。
1字元串數組大小的問題,然後因為這個導致後面函數strcpy和後面的字寫函數都有問題。哪怕代碼改的可以正常運行,以後肯定還是會有指針溢出

#include <stdio.h>
#include <string.h>

#define BUF_SIZE 10

#define setString for (i=0;i<BUF_SIZE;i++) string1[i]=i
#define showString printf("[%s]\n",string1)

void strCpy1(char* t,const char *f);
void strCpy2(char* t,const char *f);
void strCpy3(char* t,const char *f);

int main() {
int i;
char string[BUF_SIZE]="123456789";
char string1[BUF_SIZE];

setString;
strcpy(string1,string);
showString;

setString;
strncpy(string1,string,strlen(string)+1);//change (1)
showString;

setString;
strCpy1(string1,string);
showString;

setString;
strCpy2(string1,string);
showString;

setString;
strCpy3(string1,string);
showString;

return 0;
}

void strCpy1(char* t,const char *f) {
for (unsigned i=0;i<strlen(f)+1;i++)//change (2)
t[i]=f[i];
}

void strCpy2(char* t,const char *f) {
while ((*t++=*f++)!='\0');//change3
}

void strCpy3(char* t,const char *f) {
while ((*t++=*f++)!='\0'); //change 4
}

Ⅳ C語言中如何判斷是不是合法轉義字元

''是八進制的轉移字元,如果看到:87這就是非法的,'x'表示十六進制,還有一些必備的如:' ',' '這些。

和普通的字元判斷相同,比如判斷和'a'是否相同,ch=='a',那麼判斷轉義一樣,如ch==' ',邏輯表達式的結果只有兩個,true和false,所有的邏輯表達式都一樣,為真就是true,否則就是false。

#include<stdio.h>

int main(){

char a[20]="abc'efgh";

int i=0;

for(i=0;i<20;i++){

if(a[i]=='\'&&a[i+1]==''')

printf("true,%d",i);

if(a[i]==''')

printf("false");

if(a[i]==0){

printf("%d",i);

break;

數據類型關鍵字

short:修飾int,短整型數據,可省略被修飾的int。(K&R時期引入)

long:修飾int,長整型數據,可省略被修飾的int。(K&R時期引入)

long long:修飾int,超長整型數據,可省略被修飾的int。(C99標准新增)

signed:修飾整型數據,有符號數據類型。(C89標准新增)

unsigned:修飾整型數據,無符號數據類型。(K&R時期引入)

restrict:用於限定和約束指針,並表明指針是訪問一個數據對象的初始且唯一的方式。(C99標准新增)

復雜類型關鍵字

struct:結構體聲明。(K&R時期引入)

union:聯合體聲明。(K&R時期引入)

enum:枚舉聲明。(C89標准新增)

typedef:聲明類型別名。(K&R時期引入)

sizeof:得到特定類型或特定類型變數的大小。(K&R時期引入)

inline:內聯函數用於取代宏定義,會在任何調用它的地方展開。(C99標准新增)

Ⅵ C語言中的標准函數有哪些

C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為 (ch = getc(fp)) != EOF.EOF為文件結束標志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin時,getc(stdin)就等同於getchar()了.

int putc(int ch,FILE *fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.

int getchar(void)

getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:while ((c = getchar()) != '#')這是以#來結束的.

int putchar(int ch)

putchar(ch)主要是把字元ch寫到標准流stdout中去.

char * gets(char *str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.

int puts(char *str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.

char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.

int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.

int fgetc(FILE *fp)
fgetc從fp的當前位置讀取一個字元.

int fputc(int ch, file *fp)
fputc是將ch寫入fp當前指定位置.

int fscanf(FILE *fp, char *format, 輸入列表)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.

int fprintf(FILE *fp, char *format, 輸出列表)
fprintf將格式化數據寫入流式文件中.

數據塊讀寫函數

fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數說明:
buffer:是一個指針。
對fread 來說,它是讀入數據的存放地址。
對fwrite來說,是要輸出數據的地址(均指起始地址)。
size: 要讀寫的位元組數。
count: 要進行讀寫多少個size位元組的數據項。
fp: 文件型指針。

Ⅶ C語言中的求余和整除

填空:

0%2=0

1%2=1

2%2=0

3&2=1

4%2=0

0/2=0

1/2=0

2/2=1

3/2=1

4/2=2

C語言中的求余和整除的計算是如何定義的 :求余是指點一個數除以另一個數,不夠除的部分就是余數,就是求余的結果。

整除就是一個數除以另一個數,剛剛好的倍數,這里沒有四捨五入,不夠一倍的都將捨去。

(7)c語言showstring擴展閱讀:

基本表達式 1級

基本表達式(Primary expressions),主要是用於運算符之間,做為運算數。

標識,常量,字元串文字量,優先順序提升表達式最優先執行。

優先順序提升表達式是指圓括弧包圍的表達式,如「( expression )」

後綴表達式 2級

postfix-expression [ expression ],數組下標運算。

postfix-expression ( argument-expression-list),函數調用,括弧內的參數可選。

postfix-expression . identifier,成員訪問,

postfix-expression -> identifier,成員訪問,->號之前應為指針。

postfix-expression ++,後綴自增

postfix-expression --,後綴自減

( type-name ) { initializer-list }

( type-name ) { initializer-list , } 復合初始化,C99後新增。例如

int* a = (int[]) { 1, 2, 3 };

//等價於

int unamed[] = {1, 2, 3}; //unamed表示一個不可見的變數名。

int* a = unamed;

單目/一元運算 3級

++ unary-expression 前綴自增

-- unary-expression 前綴自減

unary-operator cast-expression 單目轉型表式式, 包括 取地址& ,提領 * , 正號+ ,負號- 位反~ 邏輯否!。

sizeof unary-expression 求類型長度,對表達式求類型長度

sizeof ( type-name ) 求類型長度

Ⅷ c語言中strlen是什麼意思

strlen:計算字元串長度的庫函數名。

str:通常,程序員喜歡用它作 字元串 變數名。它是string(英文詞字元串的縮寫)。

len:通常,程序員喜歡用它作 變數名。它是 length(英文詞長度的縮寫)。

例如:

char str[20]="I am a student";

int len;

len = strlen(str);

printf("the string length is: %d",len);

(8)c語言showstring擴展閱讀:

函數原型

externunsignedintstrlen(char*s);

在Visual C++ 6.0或Dev-C++中,原型為size_tstrlen(constchar*string);,其中size_t實際上是unsigned int,在VC6.0或Dev-C++中可以看到這樣的代碼:

typedefunsignedintsize_t;

頭文件:string.h或cstring

格式:strlen (字元指針表達式)

功能:計算給定字元串的(unsigned int型)長度,不包括''在內

說明:返回s的長度,不包括結束符NULL。

strlen(char*)函數求的是字元串的實際長度,它求得方法是從開始到遇到第一個'',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到''停止。