1. 程式人生 > >C語言字串中使用巨集替換

C語言字串中使用巨集替換

1 背景

    在定義一個字串時,希望有一部分內容可以使用巨集替換。當嘗試使用如下方式來實現時,發現並不能達到目的。

#define XXX programmer
char str[] = “I like XXX”;
    參考資料[1]提出了使用#符號的方法,經過嘗試發現編譯未能通過!那麼,這個看似簡單的需求,到底應該如何去實現呢?

參考資料

相關推薦

C語言字串使用巨集替換

1 背景     在定義一個字串時,希望有一部分內容可以使用巨集替換。當嘗試使用如下方式來實現時,發現並不能達到目的。#define XXX programmer char str[] = “I li

C語言字串根據特定字元(串)分割

C語言字串操作函式有很多,這裡舉出需要用到的,其他請自行查詢。 1、len = strlen(p) ;//取字串長度  原型:size_t strlen(const char *s);  功能:統計字串string中字元的個數,字串的長度在 size_t  返回值中。

關於c語言字串sizeof指標的問題

#include<stdio.h> #include<time.h> #include<assert.h> int main() {   FILE *f1=fopen("C:/Users/yangb/Desktop/11.txt","r"

c語言 陣列字串的旋轉(左旋)(右旋)

     在陣列中定義一個字串,該字串由“ abcdef ” 組成,所謂左旋即是讓左邊的第一個字元旋轉到右邊去,左旋一個字元即是產生“ bcdefa ”這樣的字串,右旋與之相反。      為了控制左(右)旋的字元數,需要製作一個可以改

C 語言 字串替換 暴力求解

#include<iostream> #include<stdio.h> using namespace std; int main() { int index=0; cout<<"Hello world!" << endl;

C語言字串標頭檔案string.h的strlen,strcat,strcpy,strncpy,strcmp,strlwr,strupr函式

前言 本博文內容基於VC6.0++, 2.本博文主要介紹包含在string.h中的幾個字串相關的函式; strlen(字串陣列名) 字串有效長度函式; 返回值:整型 功能:用來測量一個字串的有效長度(所謂有效,就是從字串中的第一個字元開始,一

C語言字元兩個字串拼接(古月)

最忌學習了C語言的基礎,深刻的感受到了跨平臺語言是多麼的強大,我們都是站在了巨人的肩膀上.下面就是C語言將兩個字串拼接起來的程式碼 #include<stdio.h> int main(void) { char arr1[] = "hello"; // 定義兩個字元陣

c++ 實現字串替換字串,也可去掉字串特定字串

int string_replase(string &s1, const string &s2, const string &s3) { string::size_type pos = 0; string::size_type a = s2.si

C語言struct的長度可變數組(Flexible array member)

wing art arr item 1 eof AI clas follow erro C_struct中的長度可變數組(Flexible array member) Flexible array member is a feature introduced in the

C語言--字串拷貝、字串查詢、字串比較、字串擷取

 在實際的應用當中,字元和字串的操作是最常用的技能。總結下來,提升能力。 一、字串拷貝 1、memcpy 2、strcpy 區別 二、字串查詢 三、字串比較 四、字串擷取 1、一種簡單而又機智的方法–strncpy  strncpy函

C語言——字串指標-strcpy

 #include<stdio.h> #include<stdlib.h> int main() { char str1[] = "Good";//初始化字元陣列 char str2[20] = "Job";//初始化字元陣列,分配空間,待str1

C語言——字串指標-strcmp

C語言中的strcmp是怎麼實現的? 其實我們可以用自己的辦法重新寫一個函式來實現strcmp的效果。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h>

C語言字串與數字相互轉換

在C/C++語言中沒有專門的字串變數,通常用字元陣列來存放字串。字串是以“\0”作為結束符。C/C++提供了豐富的字串處理函式,下面列出了幾個最常用的函式。   ● 字串輸出函式puts。   ● 字串輸出函式gets。   ●

正確理解C語言指標的 &a+1,假設a為一個數組

1.int a[5]={1,2,3,4,5}; int p=(int)(&a+1); printf("%d",*(p-1)); 答案為什麼是5? 這個問題的關鍵是理解 &a a是一個數組名,也就是陣列的首地址。 對a進行取地址運算子,得到的是一個指向陣列

(C/C++學習)14.C語言字串處理函式(二)

說明:上節著重解釋了字串處理的庫函式處理,這節將針對一些常用的需求,進行非庫函式的處理。 一.去除某一個字串中的某個字元 1.去除字串右邊的空格 1 void trimStrRightSpace(char * str) 2 { 3 while(*str) 4 s

C語言printf的自增自減執行

源程式 int main() { int i = 0; printf("%d,%d,%d\n",i++,--i,i++); return 0; } 我們預期的結果應該是:0,0,0 但實際結果為:0,1,0 原理我也弄得不是很明白,我借鑑了幾篇文章,理解到了計

C語言字串和字元陣列

如果是字元陣列,也可以用一個字串字面值來初始化: char str[10] = "Hello"; 相當於: char str[10] = { 'H', 'e', 'l', 'l', 'o', '\0' }; str的後四個元素沒有指定,自動初始化為0,即Null字元。

c語言陣列a和&a[0]的區別

p=a與p=&a[o] 等價解釋: p=&a[0] 與 p=a 等價是指,a和&a[0] 指向同一個地址(只是表示的意義不一樣)。 a是整個元素的地址,也就是陣列的起始地址,而&a[0]是陣列首元素a[0]的地址,所以他們指向的地址是相同的. 這兩者的

總結:C語言字串輸入的三種方式(scanf("%c",array); scanf("%s",str); gets(array);)

1、以scanf("%c",&array);的格式輸入字串; 由於%c是輸入一個字元,若需要輸入字串時我們可以建立陣列或指標配合迴圈(while,do{}while,for)來達到目的。如下例利用do{}while及陣列來輸入字串,並重新輸出,以字元#為結束標誌: #includ

C語言 字串處理

//輸入一段字串,無論是否有重複字母出現, //都只打印出現過的小寫字母,並按照小寫字母順序列印。 //如輸入qewqwr322rqw<>211qESFSSEraZz, 列印aeqrwz) #include <stdio.h> void fun(); voi