淨松 發問時間: 電腦與網際網路程式設計 · 1 0 年前

c AnsiString 如何用 #include

我想將檔案內容用#include放到變數AnsiString中

AnsiString s="

#include "a.h"

";

以上程式要如何改?

(請別要我上google找)

已更新項目:

我是要把檔案內容放入string中,不是要把#include "a.h"這字串放入string中.

2 個已更新項目:

因為#include的檔是別人給的,

3 個已更新項目:

用#include就是因為要在compile時決定,不是run time,不然我會用I/O.

4 個解答

評分
  • SiYu
    Lv 5
    1 0 年前
    最佳解答

    1. C 跟本沒有AnsiString 這個東西.

    AnsiString 可能是某個C plus plus compiler 公司提供的class library(也許是BCB 把)

    2. 假設在某個compiler 有提共AnsiString 然後

    既便您照這琳琳 的說法改妳的程式. compiler 後您在去改a.h 的內容. 程式執行也不跟這改變 s 的內容.

    因為. 他的內容是compiler time 就決定好了

    也就是說. 您在compiler 時 a.h 的內容是 "abc";

    然後程式寫

    AnsiString s=

    #include"a.h"

    程式compiler 完.

    執行. 會顯示abc

    這時妳去把a.h 改成 "def"

    沒有再次compiler 程式. 那原來compiler 好的執行檔. 還是會顯示 abc

    這是因為 s 的初始化內容在compiler 就以決定好了.

    C/C++ 跟PHP,PERL 這種直譯語言可不一樣. 無法在run time 重新編譯自己阿

    參考資料: ME
  • 鳳琳
    Lv 5
    1 0 年前

    你硬要這樣幹的話也不是不行..只是有一些限制..看一下這個例子

    t.txt 的內容是像這樣

    "This\\

    is\\

    test\\

    string\\

    ..."

    =================底下是測試程式========================

    #include <stdio.h>

    int main()

    {

    char text[] =

    #include "t.txt"

    ;

    puts(text);

    return 0;

    }

    // 這只是一種把戲...沒什麼實用性

    2007-01-24 12:31:04 補充:

    正常的作法是使用檔案處理

  • 1 0 年前

    #INCLUDE 沒有包含把檔案內容放到變數裡面的功能

    所以,這是不能實現的。

  • none
    Lv 4
    1 0 年前

    AnsiString s="#include \"a.h\"";

    2007-01-23 14:00:16 補充:

    AnsiString s="#include \"a.h\"";

    把 \ 改成半形, yahoo 會更改我的輸入

還有問題?馬上發問,尋求解答。